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

标签 python unit-testing

是否可以通过 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,但简而言之:

  1. 在源代码管理下,您将输入您的存储库信息并使其定期轮询存储库(我通常只是 * * * * * 所以它每分钟检查一次)
  2. 添加一个实际运行测试脚本的命令(如 python test.py)。
  3. 查看 Publish JUnit 测试结果报告。如果它有类似 'TEST-*.xml' doesn't match anything 的错误,您可以安全地忽略它。它看起来像这样: JUnit Settings
    (来源:snowpeaksoftware.com)

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

Hudson Unit Test Results
(来源:snowpeaksoftware.com)

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

Hudson Unit Test Detailed Results
(来源:snowpeaksoftware.com)

和这个页面:

Hudson Unit Test Detailed Results
(来源:snowpeaksoftware.com)

关于python - 通过 Web 界面执行 Python 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2904997/

相关文章:

python - 如何根据多个条件将值插入数据框?逻辑问题

java - Junit (3.8.1) 测试是否抛出异常(在单元测试中有效,添加到 testSuite 时失败)

c# - 在单元测试中使用伪造接口(interface)中未定义的方法

c++ - C++中是否有任何数据结构或库可以像Python List和Dictionary一样工作

Python 占用过多内存

python - numpy 序列的向量化分配

python - 如何安装 py.test-2.3?

c# - 模拟属性 - C#

node.js - 如何正确地对 Joi Schemas 验证进行单元测试?

javascript - 测试 Redux 登录操作