私は以下のようなイベントと調達方法を持っています:
public class Events {
public event EventHandler<CustomEventArgs> Succeed;
public virtual void OnSucceed(object sender, params object[] data)
{
CustomEventArgs args = new CustomEventArgs(data);
EventHandler<CustomEventArgs> _succeed = Succeed;
if (_succeed != null)
{
_succeed(sender, args);
}
}}
OnSucceedメソッドの単体テストを作成しました( FluentAssertionsを使用):
[Test]
public void SucceedShouldNotBeRaisedTest()
{
Events events = new Events();
events.MonitorEvents();
events.OnSucceed(this,"somedata");
events.ShouldNotRaise("Succeed");
}
イベントのサブスクライバーがないため、Succeed イベントが発生しないことを期待しています
しかし、Succeed イベントが発生すると、テストは失敗します。これの何が問題なの?!