【发布时间】:2015-11-30 05:54:21
【问题描述】:
我正在尝试为使用 .NET SDK 在沙发基础服务器上执行 view 的方法编写单元测试,但无法模拟 o/p。
方法:-
public int CountJsonDocs()
{
int savedFiles = 0;
var viewResult = _couchbaseClient.GetView("GetAllDocs", "GetAllDocuments");
if (viewResult.TotalRows > 0)
{
foreach (var viewRow in viewResult)
{
var jsonData = viewRow.GetItem();
savedFiles++;
}
}
return savedFiles;
}
GetView() 方法返回一个 IView 类型的对象
【问题讨论】:
-
你能展示 _couchbaseClient 是如何被实例化的吗?是Couchbase提供的接口类型还是第三方代码?通常,大多数 .NET 模拟框架不允许在具体类上模拟非虚拟方法。还有一个通用的嘲笑指南,即“不要嘲笑你不拥有的东西”(blog.8thlight.com/eric-smith/2011/10/27/thats-not-yours.html),这可能与您要解决的问题有关。
-
CouchbaseClient 是 .NET SDK for Couchbase 的一部分
-
您可以使用
MsFakes来处理RhinoMocks无能为力的情况......当我在.Net 世界时,我有时会一起使用它们......跨度>
标签: c# .net unit-testing mocking rhino-mocks