次の方法があるとします。
public Foo ParseMe(string filepath)
{
// break up filename
// validate filename & extension
// retrieve info from file if it's a certain type
// some other general things you could do, etc
var myInfo = GetFooInfo(filename);
// create new object based on this data returned AND data in this method
}
現在、 の単体テストがGetFooInfo
ありますが、 の単体テストも作成する必要があると思いますParseMe
。このような状況では、2 つの異なるプロパティを返す 2 つのメソッドがあり、どちらかを変更すると何かが壊れる可能性があります。出力が期待どおりであることを確認するために、両方の単体テストを作成する必要がありますか?
私は慎重に過ちを犯し、物事が壊れて、後のメンテナンスが容易になるように注意するのが好きですが、テスト プロジェクトに非常によく似たテストを追加することに非常に懐疑的です。これは悪い習慣でしょうか、それともこれをより効率的に行う方法はありますか?
私はこれを言語に依存しないものとしてマークしていますが、念のために C# と NUnit を使用しています - また、これに似た投稿をタイトルのみで見ましたが、質問は異なります。これがすでに尋ねられている場合は申し訳ありません。