cuốn sách gpt4 ai đã làm

ruby-on-rails - rails rspec 模型和 Controller 测试

In lại Tác giả: Walker 123 更新时间:2023-11-28 21:33:01 hai mươi bốn 4
mua khóa gpt4 Nike

我只是想知道我是否以正确的方式理解测试。

模型测试应该在没有模拟的情况下完成,例如:

规范

model.name = 'test'
model.save
model.should eq('test')

并且 Controller 应该基于模拟:

规范

model.should_receive(:save).and_return(true)

Bộ điều khiển

def action
...
if model.save
...
end

总结: Controller 是在没有任何真实数据的情况下进行测试的。与在...数据库上运行的模型层相比,所有数据都是由 stub 和模拟“提供”的?

但我认为模型也应该被模拟

model.name = 'test'
model.should_receive(:save)
model.should eq('test')

但我没有看到这样的测试意义,因为我没有测试保存方法。

câu trả lời hay nhất

作为一般经验法则,我就是这样做的。

使用您的示例,如果您已经在模型规范中测试了 save 方法,则无需在 Controller 中再次测试它,您只需要知道它已被调用即可。

本质上,您需要测试 Controller 的行为,而不是模型对其的 react 。

关于ruby-on-rails - rails rspec 模型和 Controller 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788370/

hai mươi bốn 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress