【问题标题】:Pycharm running unittest in verbose modePycharm 在详细模式下运行 unittest
【发布时间】:2017-09-19 14:02:16
【问题描述】:

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

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()

返回:

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

Process finished with exit code 0

我想得到:

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

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

OK

【问题讨论】:

    标签: python class pycharm python-unittest verbose


    【解决方案1】:

    您所要做的就是使用setUp 方法并像这样调用_testMethodDoc 属性:

    def setUp(self):
        print(self._testMethodDoc)
    

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

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

    【讨论】:

      【解决方案2】:

      试试这个

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

      【讨论】:

        猜你喜欢
        • 2013-03-02
        • 2013-12-13
        • 2017-12-05
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        • 1970-01-01
        • 1970-01-01
        • 2015-03-23
        相关资源
        最近更新 更多