-2
我遇到我的單元測試的一個問題,我不知道爲什麼,我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
我試圖創建一個init方法和削減方法的「自我」,但我繼續打印錯誤。
我們可以看到'novaapiclient'嗎?這是帶'__init __()'的類,它需要更多的參數。 –
正如sr2222指出的那樣,您在NovaAPIClient初始化程序中缺少一個參數。另外,您不需要手動調用self.setUp()。如果使用測試運行器運行測試(就像運行'unittest.main()'),setUp類將自動調用。 –
@MarkHildreth事實上,這不會導致'setUp()'被調用兩次,可能會造成很糟糕的後果嗎? –