サービス クラスとアクション クラスがあり、イベントがトリガーされるとアクションが発生します。したがって、サービスクラスでイベントをテスト登録することは重要です。
Rhino Mock テストの RegisterEvent 関数を使用しようとしましたが、テスト パスを作成できず、AssertWasCalled は常に失敗します。
誰かが私にいくつかのガイダンスや記事のリンクを教えていただければ幸いです。
public class ServiceClass
{
public ActionClass Printer {set; get;}
public void RegisterEvent()
{
Printer = new ActionClass ();
Printer.PrintPage += Printer.ActionClass_PrintPage;
}
}
public class ActionClass
{
event PrintPageEventHandler PrintPage;
public void ActionClass_OnAction( object sender, PrintPageEventArgs e )
{
// Action here.
}
}
[Test]
public void RegisterEvent_Test()
{
var service = new ServiceClass();
var mockActionClass = MockRepository.GenerateMock<IActionClass>();
service.Printer = mockActionClass;
service.RegisterEvent();
mockActionClass.AssertWasCalled( x => x.PrintPage += Arg<PrintPageEventHandler>.Is.Anything );
}