-1
は、私は以下のように次のコードを書いたアクセスが
#test.py
import sys
import unittest
from base import *
class demo_script(BaseClass):
def setUp(self):
self.flag = False
self.abc = None
super(demo_script, self).setUp()
def test_before(self):
self.abc = 5
## reboot occurs here and system context is saved
def test_after(self):
if self.abc == 5:
print"Pass"
else:
print"fail"
def tearDown(self):
print"clean"
そのままテストが失敗しています変数self.abcにアクセスできません。 ローカル変数はtest_before()とtest_after()の両方のテストでどのようにアクセスできますか?
問題のコードが間違ってインデントされています。 test_ *メソッドとtearDownメソッドは、同じsetUpになるように字下げする必要があります。 – snakecharmerb
@warvariucあなたのコードの書式設定を元に戻すべきです - OPの問題はインデントが間違っていることが原因です。質問のコードが実際のコードと一致しない場合は、再フォーマットを行う必要があります。 – snakecharmerb
あなたのコードは正しくインデントされていますか?つまり、 'test_before'、' test_after'、 'tearDown'はクラス定義の下にインデントされていますか?もしそうでなければ、 'self'はこれらのメソッドでは未定義です。 – snakecharmerb