我的测试模块中有:
import pytest
from src.model_code.central import AgentBasic
class AgentBasicTestee(AgentBasic):
pass
@pytest.fixture()
def agentBasic():
return AgentBasicTestee()
@pytest.mark.parametrize('alpha, beta, delta, expected', [
(2, 1, 1, pytest.approx(1)),
])
def test_a1(agentBasic, alpha, beta, delta, expected):
assert(agentBasic.a1(alpha, beta, delta,) == expected)
在我的导入模块中
^{pr2}$我得到的错误消息是:
> k = AgentCOne.k_bar(alpha, beta, delta)
E TypeError: k_bar() missing 1 required positional argument: 'delta'
编辑:
class AgentCrra:
def k_bar(self, alpha, beta, delta):
"""non-stochastic steady-state for capital"""
return ((1 / beta - 1 + delta) / alpha) ** (1 / (alpha - 1))
到目前为止,self取了我的一个参数s.t.delta保持空。。。在
在调用
AgentCOne
的方法之前,需要创建它的一个实例。在最简单的情况下,您可以无参数地创建它:或者由于
AgentCOne.k_bar
似乎没有使用实例中的任何状态(没有对self的引用),您可以考虑将其设为静态的。在看起来您应该使
k_bar
成为静态方法:这将允许您的单元测试运行。在
相关问题 更多 >
编程相关推荐