こんにちは。
RailsやMinitestについては知らないのですが、テスト戦略については見解を持っていますので、回答してみます。抽象的になってしまいます。ごめんなさい。
そもそもテストってなんでしょう? 私は「他の人に約束した通りに動作すること」を検証することと考えています。
つまり、「他の人に何を約束したのか?」がテスト基準になります。これは通常仕様書に記載してますね。仕様書通りに動作していることを検証するために必要なテスト項目をテストするべきです。
残念ながら、十分なテスト・セットを洗い出すことは現実問題不可能ですし、無限に開発期間も取れませんので妥協は必要です。頻繁に発生するケース(シナリオ)は漏れてはいけないと思います。また、バグが潜んでいると被害が甚大なケースもテストするべきですね。
それらが軽微な項目は開発工数等と見比べて手を抜くことも視野に入れざる得ないと思います。
なお、頭の痛いことに「仕様」のバグもあり得ます。実際に使う場面において十分な仕様を定義できていなかった結果、実使用上問題が発生する場合もあります。その意味で、実使用を想定したテスト・セットの洗い出しと仕様へのフィードバックも、多少は視野に入れておいた方がよいかも知れません。プロジェクトの性質にもよりますが。
テスト自体は必ずPASSするように組みます。アサートすることが機能の一部であれば、アサートしたらPASSし、しなければFAILするテストを組むイメージです。Minitestでそれが可能なのか把握していませんが、私自身はそのように自動テストを組んでいます。手間かかりますが。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/20 08:17