相关疑难解决方法(0)

我可以覆盖test_helper.rb中的task:environment来测试rake任务吗?

我在Rakefile中有一系列rake任务,我想测试它作为我的规范的一部分等.每个任务都以下面的形式定义:

task :do_somthing => :environment do
  # Do something with the database here
end
Run Code Online (Sandbox Code Playgroud)

其中:environment任务设置ActiveRecord/DataMapper数据库连接和类.我没有使用它作为Rails的一部分,但我有一系列测试,我喜欢作为BDD的一部分运行.

这个片段说明了我是如何尝试测试rake任务的.

def setup
  @rake = Rake::Application.new
  Rake.application = @rake
  load File.dirname(__FILE__) + '/../../tasks/do_something.rake'
end

should "import data" do
  @rake["do_something"].invoke
  assert something_in_the_database
end
Run Code Online (Sandbox Code Playgroud)

所以我的帮助请求 - 是否有可能在我的test_helper.rb文件中覆盖:environment任务,所以我的rake测试与我的测试数据库交互,而不是生产?我已经尝试在帮助文件中重新定义任务,但这不起作用.

对解决方案的任何帮助都会很棒,因为过去一周我一直坚持这一点.

ruby testing bdd rake

10
推荐指数
1
解决办法
3429
查看次数

标签 统计

bdd ×1

rake ×1

ruby ×1

testing ×1