在Rails应用程序中运行rake任务后,将显示正在加载的消息和测试结果

时间:2009-10-12 17:01:45

标签: ruby-on-rails rake

运行一些rake任务后会出现以下输出:

Loaded suite /usr/bin/rake
Started

Finished in 0.00042 seconds.

0 tests, 0 assertions, 0 failures, 0 errors

此输出对于与测试无关的任务无用或不必要。我想阻止它出现。我认为它源于需要某个文件或包含某个模块。

更新:看起来我错了,这确实在Rails内置的一些任务中出现。以下是加载--trace的灯具的输出。

$ rake db:fixtures:load --trace

** Invoke db:fixtures:load (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:fixtures:load
Loaded suite /usr/bin/rake
Started

Finished in 0.000255 seconds.

0 tests, 0 assertions, 0 failures, 0 errors

3 个答案:

答案 0 :(得分:11)

解决方案可以在这里找到:

http://github.com/thoughtbot/shoulda/issues/#issue/59

基本上不需要shoulda gem,除非它是测试环境(已经需要测试/单位)。

答案 1 :(得分:1)

首先检查Rake::TestTask的测试模式。应该是'test/**/*_test.rb'

无论出于何种原因,Test :: Unit正试图在/usr/bin/rake可执行文件中找到测试,这可能意味着你在某处出现了虚假模式。

如果您遇到这样的问题,您希望使用rake运行--trace,以查看正在运行的任务和任务依赖关系,以及以何种顺序运行。如果更新模式不起作用,请将已启用--trace的完整运行的输出复制到您的问题中。

答案 2 :(得分:0)

我到了这个文件:〜/ .rvm / rubies / ruby​​-1.9.2-head / lib / ruby​​ / 1.9.1 / minitest / unit.rb

在第498行(就在“def self.autorun”之后),我把:

return # the user of this computer put this here, because of reasons

我不认为这种方法会让我失望,因为他错过了......