Pycharm在详细模式下运行单元测试

Bl4*_*C4t 5 python class verbose pycharm python-unittest

有没有一种方法可以在pycharm中以详细模式运行unittests。我正在寻找一种在测试函数中查看文档字符串的方法,以便可以看到运行测试的一些信息。

class KnownValues(unittest.TestCase):
    known_values = (
        ([1, 2],[[1, 2]]),
        ([1, 2, 3], [[1, 2], [1, 2, 3]]),
        ([1, 2, 3, 4],[[1, 2], [1, 2, 3, 4]]),
        ([1, 2, 3, 4, 5],[[1, 2], [1, 2, 3], [1, 2, 3, 4, 5]]),
        ([1, 2, 3, 4, 5, 6],[[1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5, 6]]),
              )

    def test_check(self):
        '''This should check is the function returning right'''
        for arg, result in self.known_values:
            print("Testing arg:{}".format(arg))
            assert program.lister(arg) == result


if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

它返回:

Testing started at 19:38 ?. ...
Testing arg:[1, 2]

Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)

我想得到:

test_check (__main__.KnownValues)
This should check is the function returning right ... Testing arg:[1, 2]
ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
Run Code Online (Sandbox Code Playgroud)

Or *_*uan 1

您所要做的就是使用该setUp方法并调用该_testMethodDoc属性,如下所示:

def setUp(self):
    print(self._testMethodDoc)
Run Code Online (Sandbox Code Playgroud)

您当然可以为继承自 ) 的单元测试创​​建自己的基类unittest.TestCase,但是如果您想稍后重写该setUp方法,则必须调用super. 可以选择缩短代码实现:

class BaseUnitTest(unittest.TestCase):
    def setUp(self):
        print(self._testMethodDoc)


class KnownValues(BaseUnitTest):
    ...
Run Code Online (Sandbox Code Playgroud)