【发布时间】:2015-07-02 12:13:46
【问题描述】:
我刚开始使用minitest 学习测试,但这听起来让我很困惑。这句话是什么意思?
test 'should not save simulations without name' do
post = Post.new
assert !post.save, 'Saved the simulations without a name'
end
后模型
class Post < ActiveRecord::Base
validates_presence_of :name , :type
belongs_to :user
before_create :check_validation
validates :type, :inclusion => { :in => 1..10, :message => 'The row must be between 1 and 10' }
private
def check_validation(data, type)
....
end
对于以下情况,minitest 方法是什么:
- 在创建
Post类的新对象时检查name、type参数是否存在。post_testclass 怎么办? - 这个
test方法是否正在检查name在post中的存在? - 如何测试
check_Validation到PostTest类? - 如果
posts不属于用户,如何检查抛出错误?
我已经创建了post.yml 文件和user.yml 文件。如何再次进行。我尝试阅读ruby 官方文档,但它不是很有帮助。
提前致谢
编辑 1
我的 yml 文件
one:
name: 'test'
type: 3
user_id: 1
我试过了:
test 'Post must have all parameters' do
assert assigns(:one).valid?
结束
【问题讨论】:
-
我强烈推荐 Chris Kottom 的“The Minitest Cookbook”。
-
查看应该的宝石。该语句所做的只是创建一个新的帖子实例,而不是设置任何属性并尝试保存它。然后它断言它没有保存,如果它确实保存了,则显示消息“保存了没有名称的模拟”。
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 minitest