我對Python中的單元測試非常新穎。我正在爲一個非常小的方法編寫單元測試。代碼實現如下。但是,如果我運行測試腳本,我得到一個錯誤說:Python單元測試:類型錯誤:__init __()缺少
TypeError:
__init__()
missing 4 required positional arguments: 'x ,'y','z','w'
class get_result():
def __init__(self,x,y,z,w):
self.x=x
self.y=y
self.z=z
self.w=w
def generate_result(self):
curr_x= 90
dist= curr_x-self.x
return dist
import unittest
from sample import get_result
result = get_result()
class Test(unittest.TestCase):
def test_generate_result(self):
self.assertEqual(somevalue, result.generate_result())
是的,你的類需要四個參數,但是當你實例化它,你不傳遞任何。 – jonrsharpe
如果你不想傳遞任何參數,你可以使用'def __init __(self,x = 0,y = 0,z = 0,w = 0):'定義默認值。 – PRMoureu
你的類定義應該是CamelCase,否則它可能會讓某個讀取你的代碼的人感到困惑。 – Vinny