私は誰かがここで何が起こっているのか気にしないことを望んでいました。私はPython 2.7を使用して動作することが確認されているPythonのunittestを実行しようとしています。しかし、Python 2.6を実行しているマシンでこの同じテストを実行しようとすると、私が理解できないエラーが発生しています。ここで私はそれが成功したテストを実行するのpython 2.7を使用してこのコードを実行する場合はいくつかの理由Python Unittestクラスの変数
import re, string, os, subprocess, unittest
import MERCH_FUNCTIONS
class merchTests(unittest.TestCase):
@classmethod
def setUpClass(self):
self._merchFileString=open("test_file.txt",'r').read()
self._merchFileList=self._merchFileString.split("\n") #convert string to list
def test_stuff(self):
#print list
print(self._merchFileList)
if __name__ == '__main__':
unittest.main()
を何が起こっているかの一例であり、リストself._merchFileListプリントアウト。
のpython 2.6で、この同じコードを実行している場合しかし、私は次のようなエラー(s)は取得しています:
======================================================================
ERROR: test_stuff (__main__.merchTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "MERCH_Test_Case.py", line 14, in test_stuff
print(self._merchFileList)
AttributeError: 'merchTests' object has no attribute '_merchFileList'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
私は私の人生はここで何が起こっているかを把握することはできませんのために。私は成功しなかったいくつかの異なることを試しました。誰かがここで間違っていることを説明するほど親切であれば、私はそれを高く評価します。
ありがとうございます。
ガー、ありがとうございます!解決策は、 "SetUpClass"の代わりに "SetUp"を使用しています。 –
@Dr。あなたはSetUpとSetUpClassの違いに精通していますか? –
私はそれについて完全に明確ではありません。 1つはサブクラスメソッドであり、もう1つはクラスメソッドです。説明できますか? –