【发布时间】:2015-03-06 12:29:04
【问题描述】:
第一次尝试任何真正的单元测试。我有一个 WPF 客户端应用程序,它从 WCF 服务中的方法接收数据。这些方法调用是直接从客户端应用程序中的视图模型进行的:
public string LoadArticle()
{
MyServiceClient msc = new MyServiceClient();
return Article = msc.GetArticle(_UserName);
}
然后我有一个测试项目,我在其中新建了一个视图模型,然后调用我的方法:
[TestMethod]
public void LoadArticleTestValid()
{
var articleViewModel = new ArticleViewModel("Thomas");
string userName = "Thomas";
string expected = "Article 1";
var actual = articleViewModel.LoadArticle(userName);
etc.
}
显然这个测试会失败,因为客户端应用程序无法访问服务来调用LoadArticle。这种情况如何解决?我是使用依赖注入并将某种类型的 IMyService 接口传递给构造函数,而不是在 ViewModel 中创建 MyServiceClient 还是以某种方式模拟服务?
【问题讨论】:
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
-
@AndreasNiedermair。够公平的朋友,保持你的头发。
-
@Hardgraf 请重新考虑你的舌头......!
-
做一做一做一
标签: c# wpf wcf unit-testing automated-tests