3

Rails プロジェクトで単体テストを作成するとき、私が自問した最初の質問は、「単体テストを編成するための規則は何か」ということでした。他のほとんどすべては規則によって決定されるからです。また、MiniTest、TestUnit、Rspec の間で規約が変わるかどうかも気になります。

これまでに行ったことは、Rails ディレクトリ構造を test/unit ディレクトリにミラーリングすることです。次のようにします。

[Rails Root]
 /lib/
  ./postgres.rb
  ./awesome_parser.rb
 /app/helpers
  ./psychic_helper.rb

 /test/unit/
  ./lib/postgres.rb
  ./lib/awesome_parser.rb
  ./app/helpers/psychic_helper

他の人がこのプロジェクトに参加したときに私の名前をののしらないように、テストを編成する最も一般的な方法は何ですか?

4

1 に答える 1

4

Rspec は上記と似ていますが、「app」ディレクトリが除外されている点が異なります。たとえば (レール ルートから):

spec/controllers/user_controller_spec.rb
spec/models/user_spec.rb
spec/helpers/user_helpers_spec.rb

ただし、lib ディレクトリなどは引き続き使用されます。

spec/lib/user_stuff_spec.rb

統合テストは境界を越えるため、独自のディレクトリを取得します。

spec/integration/route_specs.rb

Spec ヘルパーには独自のディレクトリがあります。

spec/support/custom_matchers.rb

おそらく慣例ではありませんが、工場を独自のディレクトリに配置します。

spec/factories/user_factories.rb
于 2011-05-27T20:44:48.453 に答える