私はPythonに少し慣れていないので、ここやインターネット上のどこにも見つからないように見えるエラーに悩まされています。ただし、単純なものかもしれません:
「コントローラー」クラスのメソッドをテストしたい魔女のユニットテストクラスがあります。単体テスト クラスは次のようになります。
import unittest
from Controller import Controller
class ControllerUnitTests(unittest.TestCase):
def test_no_ants_must_be_in_own_dead_ants_list(self):
controller = Controller()
self.assertTrue(controller.__ourBots[0] is None)
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
unittest.main()
コントローラー クラス (ourBots、リスト) の属性にアイテムが含まれていないかどうかを確認しているだけです。
コードを実行すると、次のエラーが表示されます。
Finding files... done.
Importing test modules ... done.
======================================================================
ERROR: test_no_ants_must_be_in_own_dead_ants_list
(ControllerUnitTests.ControllerUnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\rgroenve\Python\KamikazeMieren\src\ControllerUnitTests.py", line 22, in test_no_ants_must_be_in_own_dead_ants_list
self.assertTrue(controller.__ourBots[0] is None)
AttributeError: Controller instance has no attribute '_ControllerUnitTests__ourBots'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
私のコントローラークラスではなく、独自のクラス内で属性を検索しているようです。理由と方法はわかりませんが。
コントローラ クラスの上部は次のようになります。
class Controller:
__priority = 0
__ourBots = []
def __init__(self):
pass
これを修正する方法について何か考えはありますか?