通过 Web 界面执行 python 单元测试

2024-05-17

是否可以通过 Web 界面执行单元测试……如果可以,如何执行?

EDIT: 现在我想要结果......对于测试,我希望它们是自动化的......可能每次我对代码进行更改时。抱歉我忘了说得更清楚


EDIT:

这个答案此时已经过时了:

  • Use Jenkins https://jenkins.io/而不是 Hudson(同样的东西,新名字)。
  • Use Django-詹金斯 https://sites.google.com/site/kmmbvnr/home/django-jenkins-tutorial而不是 xmlrunner.py。

django-jenkins 的链接指向有关如何将 Jenkins 与 Django 结合使用的精彩教程。我将保留下面的文字,因为它仍然包含一些很好的信息。


正如布莱恩所说,我会用Hudson http://hudson-ci.org/安排、运行和收集测试结果。您可以修改您的测试以使用xmlrunner.py https://pastebin.com/E4QHp21B(由 Sebastian Rittau 编写),它将把您的测试结果输出到 Hudson 的 JUnit 兼容 XML 文件中。

以下是测试代码如何使用 xmlrunner 的示例:

import unittest
import xmlrunner

class TheTest(unittest.TestCase):

    def testOne(self):
        self.assertEquals(1, 1)
    def testTwo(self):
        self.assertEquals(2, 2)
    def testThree(self):
        self.assertEquals(3, 4)

if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(TheTest)
    xmlrunner.XMLTestRunner().run(suite)

安装 Hudson 后,您将为正在测试的源存储库创建一个新项目。您需要 RTFM,但简而言之:

  1. 在源代码管理下,您将输入存储库信息并使其定期轮询存储库(我通常只是这样做 * * * * * 所以它每分钟检查一次)
  2. 添加实际运行测试脚本的命令(例如python test.py).
  3. Check the Publish JUnit test result report. If it has an error like 'TEST-*.xml' doesn't match anything you can safely ignore it. It'll look something like this: JUnit Settings
    (source: snowpeaksoftware.com http://www.snowpeaksoftware.com/stuff/hudson_config.png)

完成所有操作后,您将能够在签入后查看 Hudson 每次运行的测试结果。它看起来像这样:

Hudson Unit Test Results
(source: snowpeaksoftware.com http://www.snowpeaksoftware.com/stuff/unittest_results.png)

您还可以获得更详细的页面,例如此页面:

Hudson Unit Test Detailed Results
(source: snowpeaksoftware.com http://www.snowpeaksoftware.com/stuff/test_results_detailed1.png)

和这个页面:

Hudson Unit Test Detailed Results
(source: snowpeaksoftware.com http://www.snowpeaksoftware.com/stuff/test_results_detailed2.png)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Web 界面执行 python 单元测试 的相关文章

随机推荐