単体テストと自動テストの一般的な使用方法を学んでいますが、理解できない/答えを見つけることができないいくつかの質問があります
私は現在、さまざまなメソッドを呼び出し、それらにアサートを持つ複数の [TestMethod] を使用してテストしています。現在、TestMethod はすべて、DB をヒットし、残りのテストのために自分自身をセットアップするための重複したコードを持っています。例は次のとおりです。
public void TestDBReturnsFooInFormatXyz() {
var foo = HitDBAndReturnStuff();
Assert.IsTrue( // foo format is xyz );
}
public void TestDBFooContainsAbc() {
var foo = HitDBAndReturnStuff();
Assert.IsTrue( // foo contains abc );
}
いくつかの質問: テスト クラスでプライベート フィールドを作成し、コンストラクターに設定させることはベスト プラクティスですか?
テスト速度はそれほど重要ではないので、各 TestMethod で行う必要がありますか?
テストの実行時にコンストラクターが確実に呼び出されるようにするには、コンストラクターの上に何 [Test???] を配置すればよいですか?
MSDN と本「Programming Microsoft Visual C# 2008: The Language」を見てきましたが、単体テストに関する適切な情報が見つかりません。これらの質問への回答を読む必要があるリソースがある場合は、お知らせください。
ありがとう!