私は次のpyunitテストケースコードを使用して、関数の結果を収集しています(TrueまたはFalse)。しかし、assertTrueの "no attribute"エラーが発生しています。ここには何が欠けていますか?AttributeError:TestSwitchインスタンスに 'assertTrue'という属性がありません
私はpython 2.7.8とPyUnit-1.4.1-py2.7のpyunitバージョンを使用しています。
私の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$
あなたはテストクラスのクラス定義を表示できますか? 'TestSwitch'は' TestCase'から継承していますか? – elethan
提案されたより完全なコードで質問を更新しました。 – AnilJ
Linuxマシンの最小限の例で問題を再現できますか?たとえば、スイッチを使わずに単体テストの最も基本的なもので、単に 'self.assertTrue(1)'やそれに類するものです。 – Evert