5

Mac で Autotest/Growl/Shoulda を使用してセットアップ全体を動作させ、 Authlogic で作業している gem をテストしようとしています。過去にかなり RSpec を使用していましたが、Shoulda に切り替えたいと考えています。

この gem は Rails で動作しますが、私が作成した他の gem は、Rails モジュールに依存しない単純な古い Ruby ライブラリです。rubygems をテストするための推奨される方法は何ですか?

ZenTest は主に Rails に焦点を当てているようautotestです。Rails を使用しているか、Sinatra を使用しているか、単に gem を作成しているかに関係なく、呼び出しによってすべての TestUnit テストが自動的に実行されるようにする gem をまだ見つけていないためです。

質問は、ビルドしている gem でテストを実行するためのセットアップ/ワークフローは何ですか? 私を助けるリソースはありますか?

または、より具体的でテスト可能な質問: Paperclip または Authlogic のテスト スイートを Autotest で実行するにはどうすればよいですか?

これまで、これらをリソースとして使用してきました。

本当にありがとう。テストをワークフローの中核部分にしたいと考えています。

4

2 に答える 2

3

Autotest (および ZenTest 全般) は Rails に重点を置いていません。実際、Rails コードは別の gem に抽出されました。ただし、既定では、プロジェクト フォルダー内のファイルが特定のレイアウトとファイル命名規則に従うことを想定しています。例えば:

.
|-- lib
|   `-- my_library.rb
`-- test
    |-- test_helper.rb
    `-- test_mylibrary.rb

Shoulda で動作し、Autotest でテスト可能な小さなプロジェクトを投稿しました。

これらの規則から逸脱したい場合 (たとえば、テスト コード ファイル名の前に "test" を付けるのではなく、接尾辞を付けるなど) は、独自のスキームを使用するために autotest によって提供される API を使用する .autotest ファイルを提供できます。RSpec プロジェクト自体にかなり完全な例があります。

于 2010-05-12T22:05:41.537 に答える
0

私も同様の問題を抱えていたので、後世のために解決策を共有したいと思いました。

多数のファイルを含むプロジェクト ツリーがあります。lib/ 内のファイルと test/ 内のファイルの間のマッピングを探す autotest の規則については知っていました。しかし、これは autotest がデフォルトで lib/ および test/ 内のファイルを検索するだけであることを意味すると考えるのは間違いでした。そうではありません。特定のファイルまたはディレクトリを探すように指示しない場合、ツリー全体をスキャンします。ツリーに 100,000 を超えるファイルがある場合、これは良いことではないかもしれません。:-)

そのため、自動テストを実行しても結果が表示されず、ファイルが見つからないと思っていましたが、実際にはあまりにも多くのファイルが見つかり、フィードバックを与えずにそれらすべてをかき回そうとしていました。最大のディレクトリをメイン ツリーから移動することで、autotest が応答するようになりました。

(自動テスト構成ファイルをハックする方法を学ぶ必要があるかもしれません。)

于 2011-12-20T19:46:59.707 に答える