In this article, we will go over the process of generating test reports using the
unittest framework in Python. We will use the
HTMLTestRunner library to generate HTML reports for our tests.
HTMLTestRunner library is a third-party library that extends the
unittest framework to generate HTML reports for our tests. It is available on GitHub-findyou or GitHub-Rusydy. Just download or copy-paste the file and put it in the same directory as your test file.
To use HTMLTestRunner to create an HTML report for your tests, you need to write your test cases using the unittest library, and then use HTMLTestRunner to run your test cases and generate the HTML report. Here's an example:
- initiate a test case class that inherits from
class MyTestCase(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def testCase1(self): self.assertEqual(2,2,"testError") # The following test case will fail def testCase2(self): self.assertEqual(2,3,"testError") def testCase3(self): self.assertEqual(2,5,"测试错误") # en: test error def testCase4(self): self.assertEqual(2,1,"测试错误") # The upper test case will fail def testCase5(self): pass
- create a test suite and add the test cases to the test suite
# 添加Suite, en: add Suite def Suite(): #定义一个单元测试容器, en: define a unit test container suiteTest = unittest.TestSuite() #将测试用例加入到容器, en: add test cases to the container suiteTest.addTest(MyTestCase("testCase1")) suiteTest.addTest(MyTestCase("testCase2")) suiteTest.addTest(MyTestCase("testCase3")) suiteTest.addTest(MyTestCase("testCase4")) suiteTest.addTest(MyTestCase("testCase5")) return suiteTest
- run the test suite using HTMLTestRunner
if __name__ == '__main__': with open('test_report.html', 'w') as f: runner = HTMLTestRunner.HTMLTestRunner( # type: ignore stream=f, title='测试报告', # en: test report description='测试报告') # en: test report unittest.main(testRunner=runner)
- run the test file and generate the HTML report
Replace "test_file.py" with the actual name of your test file. After running the tests, the HTML report will be generated in the same directory with the file name "test_report.html". You can open the report in any web browser to view the test results.
In this article, we showed you how to set up and use HTMLTestRunner to generate HTML reports for your unit tests. HTMLTestRunner is a useful tool that makes it easy to view the results of your tests in a clear and organized way. By using HTMLTestRunner, you can quickly and easily see which tests passed and which failed, and get a more profound understanding of the overall status of your tests. The full code on this page can be found on GitHub.
- Q: What is the difference between HTMLTestRunner and unittest?
A: HTMLTestRunner is a third-party library that extends the unittest framework to generate HTML reports for your tests. It is not part of the standard library.
Q: What is setUp and tearDown in unittest?
A: The setUp and tearDown methods are used to set up and tear down the test environment. The setUp method is called before each test case is executed, and the tearDown method is called after each test case is executed. You can use the setUp and tearDown methods to set up and tear down the test environment, such as creating a test database, creating a test user, or creating a test file. More information about setUp and tearDown can be found in the unittest documentation.
Top comments (0)