Perfom python单元通过Web界面进行测试

时间:2010-05-25 13:24:53

标签: python unit-testing

是否可以通过网络界面执行单元测试...如果是这样的话?

修改: 现在我想要结果...对于我希望它们自动化的测试...可能每次我对代码进行更改。对不起,我忘了让这个更清楚

2 个答案:

答案 0 :(得分:8)

编辑:

此答案已过时:

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


正如布莱恩所说,我会使用Hudson来安排,运行和收集测试结果。您可以修改测试以使用xmlrunner.py(由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. 检查发布JUnit测试结果报告。如果它有'TEST-*.xml' doesn't match anything之类的错误,您可以放心地忽略它。它看起来像这样: JUnit Settings http://www.snowpeaksoftware.com/stuff/hudson_config.png
  4. 一旦完成所有操作,您将能够在登记后每次Hudson运行时看到测试结果。它看起来像这样:

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

    您还可以获得更多详细信息页面:

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

    和本页:

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

答案 1 :(得分:4)

您可以使用Hudson安排测试在您签入代码时运行。由于Hudson是一个网络应用程序,您可以通过网络查看结果(和/或发布它们和/或通过电子邮件发送给您或您的团队)。