2017-11-11 196 views
3

所以我有一個項目,我試圖測試,看它是否按預期工作。每次我去測試它時都會說有一個TypeError,或者說我沒有收到足夠的論據。爲什麼我在python中接收對象類型int的TypeError?

這是我使用的測試情況的​​一個例子:

pirates.process(0, [('Q', 10000), ('S', 9000), ]) 

我的定義是這樣的:

__init__(people_after_me, items) 

我該如何解決這個問題?

Traceback (most recent call last): 
    File "F:\lib\unittest\case.py", line 59, in testPartExecutor 
    yield 
File "F:\lib\unittest\case.py", line 605, in run 
testMethod() 
File "C:\Users\Travis Jones\PycharmProjects\pirates\piratesTest.py", line 
12, in test00 
    ('S', 9000), 
TypeError: __init__() takes 2 positional arguments but 3 were given 
+0

發佈追蹤以及更多的代碼,沒有足夠的信息讓我們其他人調試。 – metatoaster

+0

當我嘗試通過添加第三個參數來解決此問題時,會出現TypeError – Darkhail

回答

1

如果您__init__是一個類中定義,這成爲一種方法,它應該以self的參數引導類實例。

嘗試在類定義中定義__init__,如下所示。

def __init__(self, people_after_me, items): 
0

我覺得你在這裏

pirates.process(0, [('Q', 10000), ('S', 9000), ])

一個錯字,你應該關閉列表,刪除後面的逗號

pirates.process(0, [('Q', 10000), ('S', 9000)])

+1

不會影響代碼 – Darkhail

相關問題