ruby-on-rails - 如何编写一个任务来在 Rails 3 中运行测试?

标签 ruby-on-rails ruby-on-rails-3 unit-testing rake-task rake-test

我想编写 rake 任务来自定义测试。例如,为了运行单元测试,我使用以下代码创建了一个文件并将其保存为 lib/tasks/test.rake:

task :do_unit_tests do
  cd #{Rails.root} 
  rake test:units
end

运行rake do_unit_tests会抛出错误:无法将哈希转换为字符串

使用 Rails 3.0.7 并使用内置单元测试框架。

谢谢。

最佳答案

无需cd。您可以简单地...

task :do_unit_tests do
  Rake::Task['test:units'].invoke
end

但是如果您确实想要 cd,这就是调用 shell 指令的方式:

task :do_unit_tests do
  sh "cd #{Rails.root}"
  Rake::Task['test:units'].invoke
end

事实上,还有一个更短的版本。 cd 指令有一个特殊的别名 Chris在另一个答案中提到,所以你可以......

task :do_unit_tests do
  cd Rails.root
  Rake::Task['test:units'].invoke
end

如果你想更进一步,我推荐Jason Seifer's Rake TutorialMartin Fowler's Using the Rake Build Language文章。两者都很棒。

关于ruby-on-rails - 如何编写一个任务来在 Rails 3 中运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376474/

相关文章:

unit-testing - F# - 如何使用 NUnit 正确实现设置和初始化变量

ruby-on-rails - Rails 中的 CSV gem 在哪里?

ruby-on-rails - Rails 集合到嵌套 json

sql - 为什么这个查询运行缓慢?

ruby-on-rails - 使用用户或管理员模型和 Basecamp 样式子域设计登录

java - 如何正确模拟 WebSocket session ?

mysql - 如何在 Rails 中对整数属性执行匹配查询

ruby-on-rails - 自动初始化 Rails 控制台

ruby-on-rails - 使用 collection_select 并从 sqlite3 收到意外错误 - 有人知道为什么吗?

python - 如何为此中间件文件 django 编写正确的单元测试用例?