通过模拟发布事件

时间:2019-04-15 10:23:03

标签: c# mocking nunit mvp

我有一个Test方法,该方法通过使用MockingRaise事件来测试DataGridView事件。但是,它一直给我以下错误:

  

无法实例化类的代理:System.Windows.Forms.Control + ControlCollection。找不到无参数的构造函数。

这是我的方法

[Test]
public void GridViewCellContentClick()
{
   var data = DataHelper.ModelData;

   var presenter = CreatePresenter();
   _serviceMock.Setup(s => s.GetGridViewDetails()).Returns(data);

   _viewMock.Setup(v => v.SetupDataGrid()).Verifiable();
   _viewMock.Setup(v => v.DataGridView).Returns(new DataGridView());

   presenter.SetupControls(new GridViewParams() { FirtName = "Joe", LastName = "Bloggs" });

   _viewMock.Raise(x => x.DataGridView.CellContentClick += null, new EventArgs());
   _viewMock.VerifyAll();
}

我不太确定哪里出了问题?有什么建议吗?

引发事件时会弹出错误消息。

0 个答案:

没有答案