私はいつもこの混乱を抱えています。偽のコードを使用して何らかの操作をアサートするコードを作成した場合、偽のオブジェクトではなく実際のオブジェクトを使用して実際に開始されたときに、実際の実装を信頼するにはどうすればよいですか。
たとえば、私はこのコードを持っています -
[Test]
public void CanCreateContactsWithData()
{
using(ISession session = factory.OpenSession())
using (ITransaction trans = session.BeginTransaction())
{
_contactId = (long) session.Save(contact);
trans.Commit();
}
Assert.AreNotEqual(0, _contactId);
}
このコードは、データベースに保存されるかどうかに関係なく、「連絡先」オブジェクトの実装をテストします。たまたま実際のデータベース接続の代わりにスタブを使用した場合、それをデータベースに格納するための別のテストが必要ですか? そして、あなたはそれを統合テストと呼んでいますか?
回答をお待ちしております。