私たちは、Entity Framework 4.1に依存する単体テストコードを作成しようとしています。私はPOCOに対してユニットテストを実装するいくつかの投稿を見てきましたが、私たちは簡単にEF Caching Wrapperを使用できるように、デフォルトのEF配管を保持したいと考えています。ネストされたEntity Frameworkメンバーに対するFakeItEasyによるユニットテスト
FakeItEasyはEFを除外しているようですが、何が起こったのかが問題になります。 FakeItEasyで自分のユニットテストに続い
public partial class Email
{
IMyEntities _dataContext;
public Email(IMyEntities myEntities)
{
_dataContext = myEntities;
}
public void SendEmails()
{
// ... code to send emails goes here...
_dataContext.Emails.AddObject(this);
_dataContext.SaveChanges();
}
}
:
例えば、私は(EFデータベース・ウィザードの最初から自動生成されたコードであり、別のEmail
部分クラスがある)私のモデルでは、このコードを有します
var context = A.Fake<IMyEntities>();
var email = A.Fake<Email>(context);
// ... code to configure email goes here ...
email.SendEmails();
// this fails with a FakeItEasy.ExpectationException...
A.CallTo(() => context.Email.AddObject(email)).MustHaveHappened();
ユニットテストで、context.Emails.AddObject
が実際に呼び出されたことをどのように知ることができますか?
ありがとうございました!