【发布时间】:2017-04-20 07:47:56
【问题描述】:
我在 pycharm 中运行单元测试时遇到问题。第一个类“KnownValues”运行,但另一个类根本没有得到检查。
import roman
import unittest
class KnownValues(unittest.TestCase):
def test_too_large(self):
'''to_roman should fail with large input'''
self.assertRaises(roman.OutOfRangeError, roman.to_roman, 4000)
def test_too_small(self):
ls = [0,-1,-25,-60]
for x in ls:
self.assertRaises(roman.OutOfRangeError, roman.to_roman, x)
def test_non_int(self):
ls = [1.5, -6.5, 6.8,12.9, "hello wold", "nigga123"]
for x in ls:
self.assertRaises(roman.TypeError, roman.to_roman, x)
class Test2(unittest.TestCase):
def test1(self):
assert 1 == 1
if __name__ == '__main__':
unittest.main()
【问题讨论】:
-
您是否确认这与您在 PyCharm 之外运行程序时的行为不同?
-
如果将测试方法的名称从 test1 更改为 test_1 会怎样?
-
@Charlie no for pycharm 即使我将其更改为 test_1 也不会运行它
-
@holdenweb 是的,当我从 cmd 运行它时,它确实是
test_non_int (__main__.KnownValues) ... ok test_to_roman_known_values (__main__.KnownValues) to_roman should give known result with known input ... ok test_too_large (__main__.KnownValues) to_roman should fail with large input ... ok test_too_small (__main__.KnownValues) ... ok **test_1 (__main__.Test2) ... ok** -------------------------------------------------------------------- Ran 5 tests in 0.000s -
确保单击单元测试查看器工具栏上的绿色小圆圈,默认情况下它会隐藏通过的测试。
标签: python unit-testing class pycharm live-unit-tests