pytestの件01_実行結果内容改造

1230 ワード

前言


pytestコマンドラインを改造してテスト例を実行すると、返される内容.

使用例の説明の追加


試験用例を作成する場合、試験目的を試験用例名と書くと、用例名が長すぎる場合があるが、短い番号で用例名を表す場合、実行結果から具体的な試験ロジックが分からないため、試験結果の返却内容を改造して用例記述情報を携帯したい.ここにいるpyにコードを追加するには、次のようにします.
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
    outcome = yield
    report = outcome.get_result()
    report.description = str(item.function.__doc__)
    if not report.description:
        report.nodeid = report.nodeid.encode("utf-8").decode("unicode_escape")
    else:
        report.nodeid = "Description of this test is : " + report.description

効果は次のとおりです.
test_doc.py::TestDoc::test_01
Description of this test is : this is the first test PASSED                                                                      [ 33%]
test_doc.py::TestDoc::test_02
Description of this test is : this is the second test PASSED                                                                     [ 66%]
test_doc.py::TestDoc::test_03
Description of this test is : None PASSED                                                                                        [100%]

もっと良い解決方法があれば、伝言を歓迎します.