ruby-on-rails – rake:测试没有在子目录中运行自定义测试

我正在使用Rails 4.0.0.beta1.我添加了两个目录:app / services和test / services.

我还添加了这段代码,基于阅读testing.rake of railties

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

我发现rake test:服务在测试/服务中运行测试;但是,rake测试不会运行那些测试.看起来应该如此;这是code

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

我忽视了什么吗?

解决方法

在测试任务定义后添加如下所示的行:
Rake::Task[:test].enhance { Rake::Task["test:services"].invoke }

我不知道为什么它们不会自动被拾取,但这是我发现适用于Test :: Unit的唯一解决方案.

我想如果你要进行rake测试:所有它都会运行你的额外测试,但是如果没有上面的代码片段就不会单独进行rake测试.

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...