我有一个要测试的模型和一个控制器:
class Model:
def __init__(self):
self.display = ""
def set_display(self, display):
self.display = display
import pytest
from model import Model
from controller import Controller
@pytest.fixture
def model():
return Model()
@pytest.fixture
def controller(model):
return Controller(model)
def test_clear_button(controller):
controller.button_pressed("4")
controller.button_pressed("2")
controller.button_pressed("C")
assert model.display == "0"
E AttributeError:“函数”对象没有属性“显示”
以上是每次运行测试时遇到的错误/失败。
class Controller:
def __init__(self, model):
self.model = model
def button_pressed(self, button_label):
pass
答案 0 :(得分:2)
根据pytest,请执行以下操作:
$time = Carbon::createFromFormat('d-m-Y H:i:s', $value["date"] . " " . $value["time"]);
$timestr = $time->format('h:i:s');
然后:
createFromFormat
您定义了一个称为@pytest.fixture
def model():
return Model()
的固定装置,该固定装置引用了另一个称为@pytest.fixture
def controller(model):
return Controller(model)
的固定装置来在controller
类的实例上定义model
。因此,您似乎未正确引用model
:
Controller
或者,或者:
model