问题标签 [shoulda]

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 回答
565 浏览

ruby - 使用 Shoulda 进行单元测试

编辑:这个问题有时只会发生

这似乎只发生在我从 TextMate 中运行测试时(即使我指定 ruby​​ 用 shebang 手动运行它)。如果我从终端运行它,那么一切都很好......</p>


这是一些代码:

我期待它告诉我类似的信息:

但我得到:

那么我错过了什么?上面的示例代码很简单,我认为我可以做到,但我看不到问题!

0 投票
3 回答
2818 浏览

ruby - RSpec vs. 应该?

我是单元测试场景的新手;我现在只使用单元测试大约 2 个月。当我在 Ruby 中进行单元测试时,我目前遵循 TDD 风格并使用 Test::Unit::TestCase。我还阅读了 RSpec 以及它如何遵循 BDD 方法。我也读过关于介于两个框架之间的应该是的。我的问题是,我应该把时间花在 RSpec 还是 Shoulda 上,还是应该坚持使用 Test::Unit::TestCase?对此主题的任何意见表示赞赏。

0 投票
2 回答
917 浏览

ruby-on-rails - Problem with testing validations using Shoulda

Here's my test.

Here's my model.

And I get Expected errors to include "can't be blank" when name is set to nil, got errors: name Alert name can't be blank. (nil)

I don't get it . Why? Thanks!

0 投票
3 回答
2210 浏览

ruby-on-rails - rake 没有运行单元测试

我已将我的应用程序从 using 升级config.gemGemfilewith bundler,并注意到我的单元测试现已停止运行。这有点奇怪,我不完全确定从哪里开始寻找。

当我运行时,rake test:units --trace我可以看到我的环境正在设置中,它列出了它打算执行的文件,但它只是返回。

如果我尝试使用类似:rake -I"lib:test" test/unit/foo.rb或使用autotest.

这一切都很奇怪。就好像正在加载文件但没有运行实际的单元测试。

我正在使用shoulda并且fast_context我认为这些可能是问题,但是如果我使用标准def test_语法包含一个单元测试,它仍然无法运行,所以我认为不是那些。

任何提示或指针将不胜感激。我觉得我在盲目编码,直到我能让它们再次工作!


所以这就是我现在的位置:

我使用 bundler 的原因是为了在 heroku 上安装依赖项,并且因为我想使用来自 github 上的 git repo 的 gem。总而言之,我已经删除了preinitializerfor bundler 并重新使用了config.gem. 为了解决我无法使用 github 存储库的事实,我config.gem将自己的副本推送到了 ruby​​gems。这是正确的举动吗?


这是 preinitializer.rb

我不知道 .gems 文件会有什么用,因为它是 heroku 唯一的东西,我必须通过 git 寻找它,但这是我的 gemfile。

0 投票
2 回答
686 浏览

ruby-on-rails - 使用 Shoulda Ruby on Rails 获取 HTTP 响应

我正在从 rspec 迁移到 shoulda,但我似乎无法访问 http 响应。有人可以指出我可能做错了什么吗?

当我运行它时,我收到一条错误消息,指出 @response 是一个 nill 对象。

0 投票
1 回答
2354 浏览

ruby-on-rails - 工厂女孩有很多关系(和受保护的属性)

我有这种关系:

控制器内的默认场景如下所示:

我曾尝试编写这些工厂:

但是我的语法对关联不正确。由于评论的 article_id 受保护属性,这有点棘手。所以我觉得如果我在文章工厂内部声明关联应该会更好,但是我看不到如何处理。

谢谢你的帮助。

0 投票
2 回答
3110 浏览

ruby-on-rails - NameError:升级到 rails3 时未初始化的常量 Test::Unit::AssertionFailedError

我正在尝试将我的 rails 应用程序升级到 Rails3。

当我运行功能测试时,我会遇到很多NameError: uninitialized constant Test::Unit::AssertionFailedError错误。但是单元测试和网站本身似乎工作正常。

跟踪看起来像这样:

Shoulda 和 Amazon S3 gem 都是最新版本。

任何想法我做错了什么?

0 投票
1 回答
897 浏览

ruby-on-rails - 应该“有效”失败并出现“'handle_matcher': undefined method 'matches?'”

我正在使用以下规范在 rspec (rails 3) 之上尝试“应该”:

它失败了

现在,当我同时执行这两项操作时,我的测试将运行得很好

最后一个使用了 Shoulda::ActiveRecord::Matchers,所以据我所知,应该可以正常加载。

有什么建议么?

0 投票
1 回答
138 浏览

ruby-on-rails - 关联未在测试中找到创建的对象

我的应用程序中有以下模型:

我正在使用 Shoulda/FactoryGirl 测试部分游戏功能,这是测试:

问题是最后一个断言失败。我尝试了许多丑陋的事情,例如:

但我看不到问题的根源。我尝试禁用事务性固定装置(我不使用固定装置,但我认为这也会影响工厂女孩)并且它在其他测试中有所帮助,但在这里它没有效果。

设置块中的断言在大约 4 次运行中失败了 1 次。我试图怀疑 MySQL ......当我从 RubyMine 调试它时,一切都通过重新加载语句传递,但不是从命令行传递。

0 投票
2 回答
1178 浏览

ruby-on-rails - 帮手不应该工作

我有一个规格:

当我运行时,rake spec我看到了这个(但是如果我将上下文更改为它并移动setup块内容以it阻止所有工作正常):

我的 spec_helper.rb:

我正在使用 rails 3. rspec/shoulda/factory_girl 通过 Gemfile 中的此代码包含在应用程序中: