运行 CMD 或 python IDLE 中的单元测试

Running unittests in CMD or python IDLE

我找不到任何地方的答案。是否可以在 IDLE 或 CMD 中使用单元测试 运行 tests.py? 例如,如果有 3 个测试,1 个失败,2 个通过,我会得到如下输出:

python tests.py
Test1 failed
Test2 passed
Test3 passed

我尝试了 运行 文件,它只给我一个 OK

C:PycharmProjects>python testfin1.py
......
----------------------------------------------------------------------
Ran 6 tests in 0.002s

OK

但是我想获得所有测试的结果,这可能吗?

如果所有测试都通过,您只会获得如下所示的详细信息,其中 6 项测试 运行 并且全部通过。

C:PycharmProjects>python testfin1.py
......
----------------------------------------------------------------------
Ran 6 tests in 0.002s

OK

如果出现错误,它会显示带有失败测试名称的堆栈跟踪。您可以详细查看 here.

如果任何测试失败,您将看到失败的错误消息。试试这个例子 -

import unittest

class TestStringMethods(unittest.TestCase):

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'foo')

    def test_isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Foo'.isupper())

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