<p>我使用unittests测试套件(<a href="https://docs.python.org/3/library/unittest.html#organizing-test-code" rel="nofollow noreferrer">Ref</a>)。在</p>
<p>On after run返回一个TextTestResult,其中包含一个包含失败、错误和跳过的列表,一个包含Test\u运行的值,等等。在</p>
<p>这里有一个“最低限度”的工作例子,我将如何做到这一点。在</p>
<pre><code>#!/usr/bin/python3
# -*- coding: utf-8 -*-
import unittest
class TestDummy(unittest.TestCase):
"""A Dummy UnitTesting class."""
def test_failure(self):
"""Fails on test."""
self.fail(msg="Need a failure")
@unittest.skip("Need a Skipper")
def test_skipping(self):
"""Skippes on test."""
pass
def test_error(self):
"""Gives a error on test."""
self.not_a_thing()
def test_pass(self):
"""Need a test that passes."""
pass
def warp_test_suite(testcase_class):
"""Load tests from a specific set of TestCase classes."""
suite = unittest.TestSuite()
tests = unittest.defaultTestLoader.loadTestsFromTestCase(testcase_class)
suite.addTest(tests)
return suite
if __name__ == "__main__":
import json # For saving a JSON-file
# The test results dictionary, for the JSON.
result_value = {"Failures": 0, "Errors": 0, "Skipped": 0, "Test Runs": 0}
# Setup and run the Test
runner = unittest.TextTestRunner()
TextTestResult = runner.run(warp_test_suite(TestDummy))
# Passes the Result
result_value["Failures"] += len(TextTestResult.failures)
result_value["Errors"] += len(TextTestResult.errors)
result_value["Skipped"] += len(TextTestResult.skipped)
result_value["Test Runs"] += TextTestResult.testsRun
# Save the result to a JSON-file.
with open("result_data.json", 'w') as fp:
json.dump(result_value, fp, indent=3)
</code></pre>