Hi all,
For some reason I was getting some problems with initialising fixtures
when I had multiple engines: it looks as though engine A is looking
for its fixtures in engine B’s fixture directory. This can be solved,
for me, if, rather than instantiating one Rake::TestTask for all
engines tests you instantiate one per-engine, so I changed my
tasks/engines.rake file so that the test:engines task reads like:
namespace :test do
desc “Run the engine tests in vendor/plugins/**/test (or specify
with ENGINE=name)”
NOTE: we’re using the Rails 1.0 non-namespaced task here, just to
maintain
compatibility with Rails 1.0
TODO: make this work with Engines.config(:root)
(ENV[‘ENGINE’] || Dir['vendor/plugins/’].map { |d| File.basename(d)
}).each do |engine|
Rake::TestTask.new(:engines => :prepare_test_database) do |t|
t.libs << “test”
t.pattern = "vendor/plugins/#{ engine }/test/**/_test.rb"
t.verbose = true
end
end
end
This solves my problem but I’m wondering if I’m the only person seeing
this and, if not, whether this change should/could be integrated into
the trunk? I’ve done this against the rel_1.1.3 tag but checking the
trunk seems that this file hasn’t been changed in this regard.
Matt