问题标签 [shoulda-matchers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

ruby-on-rails - 应该::Matchers::Independent::DelegateMethodMatcher: 未定义的方法`allow_nil'

我正在尝试在我的rails (5.0.1)应用程序中使用ruby​​ 2.5.0-p0 (x86_64-linux )Comment测试我的模型的委托方法) 并收到此错误:

代码非常简洁明了,我认为库而不是我的实现代码可能存在一些错误。有谁知道这里出了什么问题?谢谢!

0 投票
0 回答
86 浏览

ruby-on-rails - 我需要编写规范来检查允许的参数以进行创建操作并获取错误

我需要编写规范来检查允许的参数以进行创建操作。

出于某种原因,我得到:

预期 POST #create 将 :job 上的参数限制为 :title,但它没有限制任何参数。

是因为模块中的控制器吗?

0 投票
0 回答
242 浏览

ruby-on-rails - Rspec 在 Rails 中测试强参数不起作用(参数数量错误)

我正在尝试对我的控制器强参数进行一些测试,并按照文档到“T”。

我的controller

我的rsepc测试FactoryBotShouldaMatchers

我得到错误:

我究竟做错了什么?

0 投票
1 回答
367 浏览

ruby-on-rails - NoMethodError:在单元测试中使用 shoulda-matchers 时未定义的测试方法“belong_to”

我尝试使用 shoulda-matchers 来测试模型之间的关联。但是,它总是显示 Error: TakeTest#test_belongs_to: NoMethodError: undefined method belong_to' for #<TakingTest:0x00007fc14b8e64a8> test/models/taking_test.rb:8:inblock in ' 我检查了其他答案,其中大多数至少是 4 年前。它仍然适用于rails 6.0吗?

红宝石'2.6.5'

轨道','〜> 6.0.2'

宝石文件

规范/rails_helper.rb:

测试/模型/take_test.rb

0 投票
2 回答
272 浏览

ruby-on-rails - ShouldaMatchers validate_uniquess_of 作用域为多列

我有一个在数据库级别具有唯一索引的模型,并且模型验证检查范围为多列的唯一性。

在规范中我有:

it { should validate_uniqueness_of(:fk_belongs_to_id).scoped_to(%i[col1 col2 col3 col4).ignoring_case_sensitivity }

但我不断收到此错误:

如何测试具有多列的唯一性范围?

我无法在他们的文档或任何内容中找到任何可以帮助解决此问题的内容。谢谢你的帮助!

0 投票
2 回答
105 浏览

unit-testing - 应该匹配器 - Rspec - 测试控制器对 Json 响应的操作 - FastJSON

如何使用 shoulda-matchers 测试这些操作,响应 JSON 成功 200 和失败 422 以及如何使用普通 RSpec 进行测试:如果可以的话,这两种情况:

我认为在其存储库中缺少一些关于应该匹配的信息。如果你能帮助非常感谢。

0 投票
0 回答
77 浏览

rspec - shoulda-matchers 不匹配

我正在创建一个 TextMessage 模型来管理通信。我正在使用shoulda-matchers进行测试

我的模型

现在我的测试

我可以在控制台上运行 FactoryBot.create(:text_message) 来创建一条没有任何问题的文本消息。但是当我运行我的测试时,我得到了这个错误

0 投票
1 回答
49 浏览

ruby-on-rails - 为什么测试由于验证而失败?

我正在为应用程序编写测试并遇到问题。

我的模型有下一个验证:

当我在模型上运行最简单的测试时,它们都会失败。

我收到一个错误:

0 投票
0 回答
41 浏览

rspec - Rspec使用具有`before_validation`回调的范围验证唯一性

尝试添加一个非常简单spec的方法来验证范围的唯一性,但规范失败并显示如下错误消息:

模型看起来像:

规格就像:

不知道我错过了什么。任何帮助都将是可观的。

0 投票
1 回答
254 浏览

ruby-on-rails - rspec 应该匹配器应该属于多态

我正在尝试测试我的多态关联,但我似乎无法让它通过

模型:

现在我的测试看起来像

我得到的错误

Foo 应该属于 bar required: true (FAILED - 1)

失败:

  1. Foo 应属于 bar 要求:true 失败/错误:it { is_expected.to belongs_to(:bar) } 预期 Foo 有一个名为 bar 的 belongs_to 关联(如果 :bar 未设置,则记录验证失败;即,要么应该用 定义关联required: true,要么应该在 :bar) /# ./spec/models/foo_spec.rb:4:in `block (2 levels) in <top (required)>' 上进行存在验证

现在这个关联可以是一个 nil 值