AttributeError: TestSwitch instance has no attribute 'assertTrue'

社会主义新天地 提交于 2019-12-11 05:16:13

问题


I have a following pyunit test case code where I am collecting the result of the function (True or False) and using it to drive my assertion. However, I am getting the "no attribute" error for assertTrue. What is missing here?

I am using python 2.7.8 and pyunit version of PyUnit-1.4.1-py2.7.

The same code when run from the Eclipse (pydev plugin) from my Mac, it works fine. Only when I take this to my Linux box, it does throw below error. So to me it looks like some package incompatibility problem.

import json
import unittest

class TestSwitch(unittest.TestCase):

    def testFunction(self):
        self.assertTrue(True, "test case failed")

Below is the test suite class.

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)

It throws below error.

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$    

回答1:


For now I've figured a workaround for this problem by using 'assertEqual' comparing with a boolean value and it works. I am not sure why 'assertTrue' and for that matter 'assertFalse' is having problem. I did not change any package version or anything.

The workaround code is as below.

 17     def testFunction(self):
 18         res = True
 19         self.assertEqual(res, True, 'test case failed')


来源:https://stackoverflow.com/questions/39823574/attributeerror-testswitch-instance-has-no-attribute-asserttrue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!