ruby-on-rails - ruby rails : Running Tests

标签 ruby-on-rails unit-testing testing

当我想运行所有单元测试时,我运行 rake test:units。为了运行我所有的功能测试,我运行了 rake test:functionals。如果我想在一个文件中运行所有测试用例,我运行

ruby 测试/unit/username_test.rb

一些人一直告诉我应该运行 rake 而不是

rake test:units TEST=test/unit/username_test.rb

对于运行测试,他们说我应该总是运行 rake。我知道如果我正在测试我所有的单元测试,我应该运行 rake。但是,如果我正在测试的只是一个文件或文件中的一种特定测试方法怎么办?我还应该使用 rake 吗?两者之间有什么区别吗?在 ruby​​ 上运行 rake 对我有什么好处吗?运行 ruby​​ 而不是 rake 有什么缺点吗?

最佳答案

可悲的是,两者并不相同。与直接运行测试相比,在 rake 下运行测试可能会从不同的地方拉取东西(当你的系统上有多个版本的 gem 等时,问题更大)。

目的是在 rake 下运行的测试应该在与 rails 产生的环境相匹配的环境中;我无法证明它们的匹配程度,但我看到直接运行时通过但通过 rake 或 rails 运行时失败的测试(反之亦然)。

关于ruby-on-rails - ruby rails : Running Tests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686625/

相关文章:

asp.net-mvc - ASP.NET MVC 使用 MSpec 进行测试。这是正确的还是需要重构?

ruby-on-rails - 找不到 id=sign_out 的用户

ruby-on-rails - Sidekiq 父批等待子批的所有作业完成

ruby-on-rails - Rails 从片段缓存中遗漏了一些部分

Angular Testing - 如果计时器在组件初始化中,则 Tick 不起作用

java - 使用 PowerMockito 模拟单例

ruby-on-rails - rails migration 在本地 Postgresql 上运行但在产品上失败

javascript - 试图理解 Jasmine 的 toHaveBeenCalled() 匹配器

javascript - 测试 jQuery 插件的资源/技术/注意事项?

java - 如何为在 run() 中具有无限循环的 Runnable java 类编写 UT?