0

我知道不可能在夹具中添加更多测试,因为它们在测试时运行,并且测试是在收集时生成的。

但我希望能够根据测试函数的路径(测试函数所在的模块)生成测试参数。

基本上,我想要这样的东西:

@pytest.mark.parametrize(
    argnames='letter',
    argvalues=lambda request: list(zip(request.fspath)),
    indirect=True
)
def test_foo(letter):
  assert letter

它应该打印一个模块的路径,一个字母一个字母地作为函数的参数:

foo[/]
foo[t]
foo[e]
foo[s]
foo[t]
foo[.]
foo[p]
foo[y]

这段代码(上面)肯定不起作用,但可能有一种方法可以使用 fspath 作为参数化的参数?

4

0 回答 0