1

$autotest または $autotest -f を実行すると、同じ結果が得られます。

# [タイムスタンプ] から待機中

コントローラーまたは仕様ファイルを変更すると、その行が繰り返されます (タイムスタンプが新しくなります)。$autotest -v を試してみると、テストが一致しないファイルのリストにスペックまたはコントローラーが含まれていません。これは良いことだと思います。#waiting 行以外は何も表示されません。

-v の実行中にスペックまたはコントローラーに変更を加えると、出力は {[path/to/changed/file] => [timestamp]} で 2 回繰り返されるハッシュになります。

これは、Ubuntu 9.04、Ruby 1.9.2、Rails 3、autotest 4.3.2、autotest-rails 4.1.0、および rspec 2.0.0.beta.20 です。( rspec /spec だけでも問題なく動作することも述べておきます。) 何かアイデアはありますか?

4

3 に答える 3

2

あはは!これは rvm を使った最初の実験の一環として行っていましたが、/usr/lib/ruby に ZenTest を gem として持っていました。「rvm use ___」を必要な gemset (autotest および autotest-rails-pure gem を含むもの) に設定した後でも、コマンド「autotest」は、古い ZenTest が /usr/bin/autotest にあるファイルを取得していました。置いていました。したがって、railstutorial.org をフォローしている人は、rvm 以前の使用 (または sudo gem のインストール) からの gem が、予期しない場所にファイルを残していないことを確認してください。

私にとっては、「sudo gem uninstall ZenTest」がそのトリックを実行することが判明しました。

于 2010-09-02T19:44:18.833 に答える
0

autotest/discover.rb ファイルに以下を追加することで、私の問題は解決しました。

Autotest.add_discovery { "レール" }
Autotest.add_discovery { "rspec2" }

Autotest.add_hook(:initialize) do |at|
  at.add_mapping(%r%^(models|controllers|routing|views|helpers|mailers|requests|lib)/.*rb$%) do |ファイル名, _|
    ファイル名
  終わり
終わり

これにより、autotest が強制的にすべてのファイルをロードし、アプリケーション ファイルまたはスペック ファイルのいずれかに変更を保存するときにスペックを正しく起動します。

ここでブログを書きました: http://itshouldbeuseful.wordpress.com/2011/03/08/force-autotest-to-load-all-your-application-files/

于 2011-03-08T12:26:39.130 に答える
0

Ubuntuの代わりにWindowsを除いて、まったく同じ環境を持っています。私は同じ問題を抱えています。このように設定した rails_app/autotest/discover.rb を実際に使用していないと判断しました (順序を変更しようとしましたが、問題はなく、出力ステートメントを追加しましたが、実行されませんでした。):

Autotest.add_discovery { "rspec2" }
Autotest.add_discovery { "rails" }

私は解決策を見つけました:

私の Gemfile for bundler では、ZenTest を指定していましたが、これらの美しさのためにそれを交換する必要がありました (autotest-rails は ZenTest に依存しますが、これがすべての違いを生みました)。

gem 'autotest'
gem 'autotest-rails'

そして今、それは機能します(ほとんどですが、少なくとも今は無関係の「Windowsy」の問題があります)。私はこれがあなたを助けると思います!

まあautotest、まだうまくいきませんが、うまくいきます。それでbundle exec autotest十分です!

于 2010-09-01T23:45:33.953 に答える