我有一个以下pyunit测试用例代码,我收集函数的结果(True或False)并用它来驱动我的断言。但是,我收到了assertTrue的“无属性”错误。这里缺少什么?
我正在使用python 2.7.8和pyUnit版本的PyUnit-1.4.1-py2.7。
从我的Mac上运行Eclipse(pydev插件)时的代码相同,它运行正常。只有当我把它带到我的Linux盒子时,它才会抛出错误。所以对我来说,它看起来像是一些包不兼容的问题。
import json
import unittest
class TestSwitch(unittest.TestCase):
def testFunction(self):
self.assertTrue(True, "test case failed")
以下是测试套件类。
import unittest
from mysample import TestSwitch
# Create an instance of each test case.
testCase = TestSwitch('testFunction')
# Add test cases to the test suite.
testSuite = unittest.TestSuite()
testSuite.addTest(testCase)
# Execute the test suite.
testRunner = unittest.TextTestRunner(verbosity=2)
testRunner.run(testSuite)
它抛出以下错误。
bash-3.2$ python mysuite.py
testFunction (mysample.TestSwitch) ... ERROR
======================================================================
ERROR: testFunction (mysample.TestSwitch)
----------------------------------------------------------------------
Traceback (most recent call last):
File "workspace/pyunit/mysample.py", line 7, in testFunction
self.assertTrue(True, "test case failed")
AttributeError: TestSwitch instance has no attribute 'assertTrue'
----------------------------------------------------------------------
Ran 1 tests in 0.000s
FAILED (errors=1)
bash-3.2$
答案 0 :(得分:0)
现在我已经通过使用'assertEqual'与布尔值进行比较来找到解决此问题的方法,并且它可以正常工作。我不确定为什么'assertTrue'和'assertFalse'有问题。我没有更改任何包版本或任何东西。
变通方法代码如下。
17 def testFunction(self):
18 res = True
19 self.assertEqual(res, True, 'test case failed')