unittestを使い始めようとしていますが、setUpClass()
が問題になりました。ここに私のテストコードは、アサートエラーメッセージがself.testvar == None
、とはsetUpClass()
によって変更されていないことを示す、表示されている...ユニットテストsetUpClassが動作しない
import unittest
class TestRepGen(unittest.TestCase):
""" Contains methods for training data testing """
testvar = None
@classmethod
def setUpClass(cls):
cls.testvar = 6
def test_method(self):
""" Ensure data is selected """
self.assertIsNotNone(self.testvar,"self.testvar is None!")
# run tests
if __name__ == '__main__':
unittest.main()
です。私のコードに何か問題がありますか?
IDE(Wing)からコードを実行するか、コマンドラインから直接実行すると同じ結果になります。記録のために、私はWindows7の下でPython 3.2.1を使用しています。
私は、Windows 7でPython 2.7でコードを試しました。うまくいき、テストに合格しました。上記のスクリプトを_exactly_実行すると、本当にうまくいきませんか? docs for Python 3.3は、 'setUpClass'の振る舞いの変化を示していません。 – agf
あなたが貼り付けたコードは、python27とpython 3.2.1でWindows 7で動作します。 – stderr
setUpClassを使っている理由はありますか? 'def setUp(self)'? – Bogdan