У меня есть следующий код:
import unittest
class TestFMP(unittest.TestCase):
@classmethod
def setUpClass(cls):
FMP_object = MyClass1(path, {})
Locator_object = MyClass2(path)
@classmethod
def tearDownClass(cls):
print('YYY')
def test_method(self):
self.assertEqual(FMP_object.method1(), Locator_object.method2())
Насколько я понимаю, setUpClass () должен выполняться один раз при создании экземпляра класса TestFMP и обеспечивать постоянный доступ к FMP_object и Locator_object. Однако, когда я запускаю test_method, я получаю следующую ошибку:
testcase = TestFMP()
testcase.test_method()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-277-b11e25b4803c> in <module>
1 testcase = TestFMP()
----> 2 testcase.test_method()
<ipython-input-276-dba1c1e55b1a> in test_method(self)
12 def test_method(self):
13
---> 14 self.assertEqual(FMP_object.method1(), Locator_object.method2())
NameError: name 'FMP_object' is not defined
Я получаю тот же результат, когда пытаюсь получить доступ к FMP_object / Locator_object с помощью self. префикс в test_method ().
Есть идеи о том, что я делаю неправильно?
Я получаю это на Python 3.6.