为什么我的minitest.rake在进入终端时运行两次?

问题描述:

我创建了minitest.rake,按照ryan bates railscast(http://railscasts.com/episodes/327-minitest-with-rails)。为什么我的minitest.rake在进入终端时运行两次?

当我在终端中运行rake时,测试运行,然后在重置命令行之前再次运行。

require "rake/testtask" 

Rake::TestTask.new(:test => "db:test:prepare") do |t| 
    t.libs << "test" 
    t.pattern = "test/**/*_test.rb" 
end 

task default: :test 

我想你已经有了一个定义了这样一个名字的任务。如果您定义了一个具有相同名称的新任务,它将附加到已有的任务上。

如果您删除或注释掉此代码并执行rake -Ttest任务会在那里?

+0

我怎样才能找到?这是我的lib/tasks目录中唯一的文件。 – 2013-03-06 17:30:12

+0

如果您在rails中使用它,它已经有'test'任务。如果你删除或注释掉你的任务代码并执行'rake -T','test'任务会在那里? – khustochka 2013-03-06 17:31:14

+0

它在那里。如果我继续使用“耙测试”并完全删除我的代码,是否可以? – 2013-03-06 17:42:44

只需用一个唯一的名称重命名您的耙文件;恩。 mintest1.rake

当我命名我的耙文件paperclip.rake时,我遇到了同样的问题。我在那个rake文件中定义了什么,它被执行了两次。我认为这是因为Paperclip gem已经定义了一个rake文件paperclip.rake。所以我刚刚将我的paperclip.rake文件重命名为pc.rake,它对我很有帮助。

+0

与回形针任务完全相同的问题;谢谢! – 2016-11-18 03:13:27

你试过rake test:single TEST=path/to/test.rb

如果我放弃:single,那么它会运行两次。