Calling a method from another file AttributeError: object has no attribute
Calling a method from another file AttributeError: object has no attribute
我正在尝试创建单元测试,但在尝试使用另一个文件中的函数时遇到了一些错误。您可以在下面看到我正在尝试做的基本想法的示例。我是 Python 的初学者,所以我不确定问题出在哪里。
在文件 1 中:model.py
Class Model(parameters):
def calc_maximum(self, data, thresholds):
df['Max']= ...
return df
def calc_model_output(self,data,param,param2):
S=self.calc_maximum(data,thresholds)
Si=S+param2
return Si
在文件 2 中:test.py
import model as ml
import unittest
...
...
class Tests(unittest.Testcase):
def test_calc_maximum(self):
Expected1=ml.Model.calc_maximum(self,input1, input2)
def test_calc_model_output(self):
Expected2=ml.Model.calc_model_output(self,input1,input2,input3)
当我尝试 运行 test.py 文件时,Expected1
的测试似乎工作正常,但我从 Expected2
行得到以下错误:
AttributeError: 'Tests' object has no attribute 'calc_maximum
.
有什么想法吗?
只需要在Expected1的Model后面加上括号,即使Expected1
Expected1=ml.Model().calc_maximum(input1,input2)
对 Expected2 做同样的事情
我正在尝试创建单元测试,但在尝试使用另一个文件中的函数时遇到了一些错误。您可以在下面看到我正在尝试做的基本想法的示例。我是 Python 的初学者,所以我不确定问题出在哪里。
在文件 1 中:model.py
Class Model(parameters):
def calc_maximum(self, data, thresholds):
df['Max']= ...
return df
def calc_model_output(self,data,param,param2):
S=self.calc_maximum(data,thresholds)
Si=S+param2
return Si
在文件 2 中:test.py
import model as ml
import unittest
...
...
class Tests(unittest.Testcase):
def test_calc_maximum(self):
Expected1=ml.Model.calc_maximum(self,input1, input2)
def test_calc_model_output(self):
Expected2=ml.Model.calc_model_output(self,input1,input2,input3)
当我尝试 运行 test.py 文件时,Expected1
的测试似乎工作正常,但我从 Expected2
行得到以下错误:
AttributeError: 'Tests' object has no attribute 'calc_maximum
.
有什么想法吗?
只需要在Expected1的Model后面加上括号,即使Expected1
Expected1=ml.Model().calc_maximum(input1,input2)
对 Expected2 做同样的事情