CSV ファイルを読み取る必要があり、各行の組み合わせごとにいくつかのメソッドを実行する必要があります。各行をテスト ケースとして表示したいと思います。行をパラメーターとして送信することは可能ですか? pytest はテスト ケースをパラメーター化しますか? その方法を教えてください。
擬似コードは次のとおりです。
class test_mytest:
def test_rows:
for row in csvreader:
run_method(row)
for onecol in row:
run_method2(onecol)
ドキュメントを読んでみましpytest
たが、明確ではありませんでした。
これは、行のgenerate_testsフックをパラメーターとして使用するために私が行っていることです。内側のforループ関数に対して同じことを行う方法を知りたいです-この内側のループもテストケースとして収集する必要があります
def pytest_generate_tests(metafunc):
read_csvrows()
for funcargs in metafunc.cls.params[metafunc.function.__name__]:
# schedule a new test function run with applied **funcargs
metafunc.addcall(funcargs=funcargs)
class TestClass:
params = {
'test_rows': rows,
}
def test_rows:
run_method(row)
for onecol in row:
test_method2(onecol)
ここで、test_method2 を呼び出す -for ループのレポートを生成する必要があります (これは、csv ファイルの各行の列にある要素のリストのパラメーター化されたメソッドです)。Pytest はそれらもテストケースとして収集する必要があります。
ご協力ありがとうございます。