6

そのため、テストの実行時間を改善しようとしており、いくつかの優れたアドバイスに従っています (最も注目すべきはRailscasts 412 )。

zeus test testZeus は正常に動作しているようです ( Minitest スイートを実行するために入力する必要があるという奇妙な点を除けば)。

zeus からの時限出力は次のとおりです。

ベースライン (レーキ テスト):

$ time rake test
Run options: --seed 62848

# Running tests:

........

Finished tests in 0.117071s, 68.3346 tests/s, 68.3346 assertions/s.

8 tests, 8 assertions, 0 failures, 0 errors, 0 skips

real    0m5.771s
user    0m4.477s
sys     0m0.872s

そしてゼウスと:

$ time zeus test test
Run options: --seed 10325

# Running tests:

........

Finished tests in 0.126365s, 63.3087 tests/s, 63.3087 assertions/s.

8 tests, 8 assertions, 0 failures, 0 errors, 0 skips

real    0m0.765s
user    0m0.209s
sys     0m0.030s

良い。5.7 秒から 0.7 秒に短縮。

今、春になって、最初の実行後に改善が見られません. 私はSpring gem 1.1.0beta4を実行しており、説明どおりにインストールしています(Gemfileに追加してから実行していますbundle exec spring binstub --all)。

そして、ここに私が持っているものがあります:

ベースライン、1 回目の実行 (レーキ テスト):

time bin/rake test
Run options: --seed 49915

# Running tests:

........

Finished tests in 0.108359s, 73.8287 tests/s, 73.8287 assertions/s.

8 tests, 8 assertions, 0 failures, 0 errors, 0 skips

real    0m6.265s
user    0m0.072s
sys     0m0.020s

春が実行されていることを確認します。

$ spring status
Spring is running:

 2990 spring server | gdc4 | started 43 secs ago  
 2991 spring app    | gdc4 | started 43 secs ago | test mode    

そして、テストを再度実行します...

$ time bin/rake test
Run options: --seed 27416

# Running tests:

........

Finished tests in 0.132677s, 60.2968 tests/s, 60.2968 assertions/s.

8 tests, 8 assertions, 0 failures, 0 errors, 0 skips

real    0m3.885s
user    0m0.069s
sys     0m0.014s

そのため、少し高速化されていますが、それでも実行に約 4 秒かかります。一方、レール コンソールは、Spring を使用すると 1 秒未満で高速にロードされます。

ですから、私の質問は次のとおりです。Zeus はテストで桁違いのスピードアップ (5.7 秒 -> 0.7 秒) を達成できるのに、Spring はそうではないのはなぜですか?

Rails 4.0.2、Ruby 2.0.0 を実行しています。

4

4 に答える 4

3

走れない

レーキテスト

あなたは走る必要があります

春レーキ試験

例:

タイムレーキ -T

10.737秒

タイムレーキ -T

10.811s # ご指摘のとおり改善なし

タイムスプリングレーキ-T

18.468秒

タイムスプリングレーキ-T

1.140s # 大幅な改善

于 2014-03-28T20:04:36.687 に答える
0

おそらくzeus test実行されないためdb:resetです。

私のアプリケーションの 1 つで、Spring は 5 ~ 6 秒でテストを実行しますが、Zeus はテストを約 0.5 秒で実行します。これは、Spring が毎回データベースをリロードするためです。

于 2016-10-29T15:43:07.077 に答える