是否可以通过 Web 界面执行单元测试...如果可以,怎么做?
编辑: 现在我想要结果......对于测试我希望它们是自动化的......可能每次我对代码进行更改时。对不起,我忘了说得更清楚
最佳答案
编辑:
这个答案此时已经过时了:
- 使用Jenkins而不是 Hudson(同样的东西,新名称)。
- 使用django-jenkins而不是 xmlrunner.py。
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,但简而言之:
- 在源代码管理下,您将输入您的存储库信息并使其定期轮询存储库(我通常只是 * * * * * 所以它每分钟检查一次)
- 添加一个实际运行测试脚本的命令(如
python test.py
)。 - 查看 Publish JUnit 测试结果报告。如果它有类似
'TEST-*.xml' doesn't match anything
的错误,您可以安全地忽略它。它看起来像这样:
(来源:snowpeaksoftware.com)
完成所有操作后,您将能够看到 Hudson 在 checkin 后每次运行时的测试结果。它看起来像这样:
(来源:snowpeaksoftware.com)
您还可以获得更详细的页面,例如此页面:
(来源:snowpeaksoftware.com)
和这个页面:
(来源:snowpeaksoftware.com)
关于python - 通过 Web 界面执行 Python 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2904997/