【发布时间】:2015-05-10 23:20:39
【问题描述】:
单元测试和最小起订量的新手。我有一个 WPF 客户端应用程序,它通过 HttpBinding 连接到 WCF 服务。我在 MSTest 中有一个测试类,我正在用 Moq 模拟我的服务,如下所示:
[TestClass]
public class ArticleDataGridTests
{
//Mock channel for WCF service. Moq mocking framework.
Mock<IIsesServiceChannel> channelMock = new Mock<IIsesServiceChannel>();
[TestMethod]
public void LoadArticleTitlesListTestValid()
{
channelMock.Setup(c => c.GetArticleTitles());
ArticleDataGridViewModel articleDataGridViewModel = new ArticleDataGridViewModel(channelMock.Object);
articleDataGridViewModel.LoadArticleTitlesList();
channelMock.Verify(c => c.GetArticleTitles(), Times.Once());
}
}
}
这是在 ViewModel 中调用的方法 LoadArticleTitles list。 ArticlesTitleList 是List<string>:
public void LoadArticleTitlesList()
{
ArticleTitlesList = new List<string>(IsesService.GetArticleTitles());
}
显然这个测试失败了。我在“集合”上得到一个空异常。如何为我的测试模拟这个字符串列表,或者我不应该使用 WCF 服务方法调用编写 void 方法存根,这些方法调用首先嵌套在其中的返回列表?谢谢
【问题讨论】:
标签: c# wpf wcf unit-testing moq