я имею проблему в моих модульных тестов, я не знаю, почему, я gotting следующий стек:модульные тесты питон «__init __() принимает ровно 2 аргумента (1 дано)»
Traceback (most recent call last):
File "novaapiclient_tests.py", line 11, in test_create_server
nova = novaapiclient.NovaAPIClient()
TypeError: __init__() takes exactly 2 arguments (1 given)
следовать моему тестовому коду:
class TestFunction(unittest.TestCase):
def setUp(self):
self.nova = novaapiclient.NovaAPIClient()
def test_create_server(self):
self.setUp()
lsbf = self.nova.lst_of_servers(self.nova.listServers())
image = "3f9e6696-2ed2-4e06-ae16-c828062addbe"
flavor = "m1.tiny"
name = "testing_unit"
self.nova.createServer(image, flavor, name)
time.sleep(60)
lsaf = self.nova.lst_of_servers(self.nova.listServers())
if(len(lsbf) < len(lsaf)):
assertTrue(True)
else:
assertTrue(False)
def delete_server(self):
self.setUp()
serv_id = "13e0c3de-d736-47ec-bc22-3a794aa3e2a9"
self.nova.deleteServer(serv_id)
ls = self.nova.lst_of_servers(self.nova.listServers())
j = 0
fin = False
while(j < 3 and not fin):
time.sleep(75)
for i in range(len(ls)):
if(serv_id == str(ls[i])):
assertTrue(False)
break
assertTrue(True)
fin = True
break
j += 1
Я попытался создать метод инициализации и вырезать «я» в методах, но я продолжаю печатать эту ошибку.
Можем ли мы увидеть «novaapiclient»? Это класс с '__init __()', который ожидает больше параметров. –
Как указывает sr2222, вам не хватает аргумента в инициализаторе NovaAPIClient. Кроме того, вам не нужно вызывать self.setUp() вручную. Если вы запускаете тест с помощью тестового бегуна (например, если вы запустите 'unittest.main()'), класс setUp будет вызываться для вас автоматически. –
@MarkHildreth На самом деле, не будет ли причиной 'setUp()' вызываться дважды, возможно, с очень плохими последствиями? –