Ruby on rails Rails模型测试,而不是在需要时测试栏杆
我正在使用Ruby 2.6.3和Rails 6作为API:“我的模型项目”具有“名称”和“价格”字段。我的测试是验证这些字段是否存在。我的测试结果如下Ruby on rails Rails模型测试,而不是在需要时测试栏杆,ruby-on-rails,api,testing,model,tdd,Ruby On Rails,Api,Testing,Model,Tdd,我正在使用Ruby 2.6.3和Rails 6作为API:“我的模型项目”具有“名称”和“价格”字段。我的测试是验证这些字段是否存在。我的测试结果如下 test 'Should have name and price ' do item = Item.new assert_not item.save, "Item saved without a name or price" end 这将导致一个绿色测试,该测试不应该发生,因为没有当前的验证。即使我添加了验证
test 'Should have name and price ' do
item = Item.new
assert_not item.save, "Item saved without a name or price"
end
这将导致一个绿色测试,该测试不应该发生,因为没有当前的验证。即使我添加了验证,测试仍然是绿色的:
class Item < ApplicationRecord
belongs_to :order
validates :name, presence: true
validates :price, presence: true
end
类项
不管有没有验证,我的测试都是绿色的。到底发生了什么?当我反向断言时,不断言它失败,在这种情况下,当我添加验证时,它仍然失败。这很奇怪,因为你标题上的那个拼写错误,我现在会给你买这么多啤酒。@其他人:请不要杀我。当我反转断言时,不断言它失败,在这种情况下,当我添加验证时,它仍然失败。这很奇怪,因为你标题上的那个拼写错误,我现在会给你买这么多啤酒。@其他人:请不要杀我。