Function 如何为类方法生成测试函数?
我得到了这个类,我想测试call方法,看看这个类是否工作正常。我正在实现一个测试来测试这个类 作品测试函数应该验证调用方法是否返回 对于参数T和T的给定值(调用方法的输入是T和T),正确的结果。您将如何解决它?使用测试功能时,我的意思是使用Function 如何为类方法生成测试函数?,function,unit-testing,class,testing,ode,Function,Unit Testing,Class,Testing,Ode,我得到了这个类,我想测试call方法,看看这个类是否工作正常。我正在实现一个测试来测试这个类 作品测试函数应该验证调用方法是否返回 对于参数T和T的给定值(调用方法的输入是T和T),正确的结果。您将如何解决它?使用测试功能时,我的意思是使用def test\u cooling():我的代码位于: class Cooling: def __init__(self,h,Ts): self.h=h self.Ts=Ts def __ca
def test\u cooling():
我的代码位于:
class Cooling:
def __init__(self,h,Ts):
self.h=h
self.Ts=Ts
def __call__(self, T, t):
self.T = T
self.t = t
h = -self.h*(self.T - self.Ts)
self.T = (self.T) + self.t*h
return self.T, self.t
我试过了
def test_Cooling(self):
c=Cooling()
expected=c.__call__(T,t)
self.assertTrue(expected, msg=None)
要测试某些东西,您需要了解它的功能
冷却。\uuuu init\uuuu
接受两个参数<代码>c=冷却(h,Ts)
不应显式调用。相反,它允许您像函数一样调用对象:c(T,T)
。它返回计算结果
考虑到这一点,我们可以编写一个测试来检查它是否返回我们期望的结果
您还需要测试h、Ts、T和T是否正确存储。除了self.T
,它们都只是输入的副本
class SampleTest(unittest.TestCase):
def test_Cooling(self):
h = 1
Ts = 2
T = 3
t = 4
newT = -1
expected = (newT,t)
cooling = Cooling(h, Ts)
self.assertEqual( cooling(T,t), expected )
self.assertEqual( cooling.h, h )
self.assertEqual( cooling.Ts, Ts )
self.assertEqual( cooling.t, t )
self.assertEqual( cooling.T, newT )
您必须为h、Ts、T和T选择一组值,并手动计算newT
。或者询问是谁编写了函数以获得一些预期的输入和输出
请注意,它返回的
t
未经更改,为什么会返回ll?到目前为止您尝试了什么?这应该和测试一个对象没什么区别。我试过测试一个对象,但效果不好。你能告诉我们你到目前为止试过什么吗。现在编辑到我的答案中不,我需要在测试方法的类之外创建一个函数,而不是在class@TravisScott我不明白<代码>测试冷却不应在类内。我已经说得更清楚了。