3

Rails3.2.11アプリでRspecを使用しています。sporkをインストールしてセットアップしました。私はデータマッパーをORMとして使用しています。

しかし、sporkが実行されている場合、単一のテストの実行には1分以上かかります。実行中のテストが空であっても。確かに何かがおかしい。しかし、私は正確に何を理解することはできません。

私のtest_specは次のとおりです。

require "spec_helper"
require "cancan/matchers"

describe User do
end

私のスペックヘルパーファイルはここにあります:https ://gist.github.com/4593609

rspecの時間を計るとき:

➜  books git:(dev) ✗ time rspec --drb spec/models/test_spec.rb
No examples found.


Finished in 1 minute 51.08 seconds
0 examples, 0 failures
rspec --drb spec/models/test_spec.rb  1.49s user 0.04s system 1% cpu 1:52.94 total

スポークログ:

➜  books git:(dev) ✗ spork
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Rack::File headers parameter replaces cache_control after Rack 1.5.
Spork is ready and listening on 8989!
Running tests with args ["spec/models/test_spec.rb"]...
Done.

Running tests with args ["spec/models/test_spec.rb"]...
Done.

これは空の仕様用です。例が多いスペックは時間がかかります。実行にこれほど時間がかかる可能性がありますか?

4

2 に答える 2

4

テストを実行するときにtest.logを確認してください。おそらく、データベースのセットアップはすべてのテストに対して行われ、時間がかかります。

tail -f log/test.log テストを実行するとき

于 2013-01-22T10:33:16.010 に答える
1

私はこの問題の解決策を見つけました。問題は私のspec_helperファイルにありました。

 config.before(:suite) {
   DataMapper.auto_upgrade!
 }

これらの構成のため、Datamapperはテストを実行するたびに自動アップグレードを試みていました。この設定にコメントすると、sporkが実行されていないときでもspecは正常に動作し始めました。

于 2013-01-22T12:32:56.763 に答える