仅在TestCase导入

时间:2017-04-28 20:14:52

标签: python python-3.x python-unittest

我继承了一个如下所示的测试目录:

tests
  | this_test
    | __init__.py
    | this_test.py  
  | that_test
    | __init__.py
    | that_test.py

__init.py__为空,且this_test.pythat_test.py都是这样的:

from unittest import TestCase

class TestingThis(TestCase):

    def test_testing(self):
        self.assertTrue(1, 1)

他们真的很简单。但我的困惑来自于弄清楚如何运行这些。我总是看到像以下的测试:

import unittest

class TestingThis(unittest.TestCase):

    def test_testing(self):
        self.assertTrue(1, 1)

if __name__ == '__main__':
    unittest.main()

我可以使用python3 this_test.py从目录中的终端运行。我已尝试了多种方法在终端中运行这些方法,但没有成功,并且在我的搜索中没有找到显示此模式的任何内容。

这是测试的实际设计模式,还是需要修复?

2 个答案:

答案 0 :(得分:0)

您可以使用来自包nosefunction loose(a) { console.log(a); arguments[0] = "bar"; // Changes `a` console.log(a); } function strict(a) { "use strict"; console.log(a); arguments[0] = "bar"; // Does not change `a` console.log(a); } loose("foo"); strict("foo");来发现并运行您的测试。收集和运行所有测试非常有用,甚至来自docstring。此外,您可以使用它生成JUnit XML报告。

nosetests

答案 1 :(得分:0)

您可以使用nose运行测试,并使用' test _' 启动测试文件的名称,以便nose可以发现测试文件并在其中进行测试。

示例 - test_this.py