加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么这个测试结果会倒退?

发布时间:2020-12-17 02:04:28 所属栏目:百科 来源:网络整理
导读:我正在使用Test:Unit和Shoulda编写我的第一个测试,所以这对我来说可能是一个简单的误解,但鉴于Pages模型不包含验证,并且测试: #test/unit/page_test.rb require 'test_helper'class PageTest ActiveSupport::TestCase should belong_to(:site) should vali
我正在使用Test:Unit和Shoulda编写我的第一个测试,所以这对我来说可能是一个简单的误解,但鉴于Pages模型不包含验证,并且测试:

#test/unit/page_test.rb    
require 'test_helper'

class PageTest < ActiveSupport::TestCase
  should belong_to(:site)
  should validate_presence_of(:slug)
end

第二次测试失败了(假设模型中没有验证):

# Running tests:

[2/2] PageTest#test: Page should require slug to be set.  = 0.02 s
  1) Failure:
test: Page should require slug to be set. (PageTest) [/Users/Matt/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/shoulda-context-1.1.1/lib/shoulda/context/context.rb:339]:
Did not expect errors to include "can't be blank" when slug is set to nil,got error: 

Finished tests in 0.115436s,17.3256 tests/s,17.3256 assertions/s.
2 tests,2 assertions,1 failures,0 errors,0 skips

但是,当slug设置为nil时,错误消息并不期望错误包含“不能为空”似乎是倒退.不应该这样读:预期错误包括“不能为空”,因为如果我正在测试的验证存在,那么当slug是slug时,你会发现slug“不能为空”的验证错误零.

如果我添加验证,测试通过,但我希望首先看到它失败!

另外,为什么第一次测试通过?我的页面模型不包含belongs_to关联!

测试很糟糕!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读