如何在C#中使用Microsoft Fakes在接口中存根通用方法定义

尼尔·比林汉姆(Neil Billingham)

我有一个单元测试,使用Microsoft Fakes抽出以下接口:

public interface ITable
{
    Task<TableResult> Retrieve(string tableReference, string partitionKey, string rowKey);
}

存根看起来像这样:

ITable table = new MessagesAPI.Azure.Fakes.StubITable()
            {
                RetrieveStringStringString = delegate
                  {
                      TableResult tableResult = new TableResult();
                      return Task.FromResult(tableResult);
                  }
            };

这很好。但是我想将接口更改为更通用,如下所示:

public interface ITable
{
    Task<TableResult> Retrieve<T>(string tableReference, string partitionKey, string rowKey) 
                     where T : ITableEntity;
}

问题是如何将这个新版本的接口存根?我在正确使用语法方面遇到困难。

有任何想法吗?

老狐狸

您将行为设置为以下内容:

var table = new MessagesAPI.Azure.Fakes.StubITable();

table.RetrieveOf1StringStringString<ITableEntity>(
     (tableReference, partitionKey, rowKey) =>
{
    TableResult tableResult = new TableResult();
    return Task.FromResult(tableResult);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在接口中使用静态方法返回实例方法返回的通用实例?

如何在 C# 中使用存根模拟 httpclient

在通用接口中使用接口

如何在C#中使用静态全局定义变量?

如何在C#程序中使用标准Windows定义

如何在C#中使用构造函数调用方法?

如何在C#中使用Ajax调用类方法

如何在C#中使用IUIAutomation :: ElementFromIAccessible方法?

如何在C#中使用Moq测试Add方法

如何在方法 C# 中使用全局设置的变量

Java使用const或static方法定义通用类参数

如何在接口中使用接口

在C#通用接口中实现通用C ++ / CLI接口

如何在asp.net C#中使用Ajax调用C#方法?

如何在Windows 10 C#通用应用程序中使用C ++类?

如何在托管C ++中使用事件正确实现C#接口

如何使用 Visual Studio 的 Fakes 框架存根异步方法?

如何知道接口中是否已定义方法

如何访问接口中未定义的类型方法?

如何在MongoDB 2.7中使用MongoDB C#驱动程序更新通用类型

如何在c#中查找类中使用的接口数量?

如何在C#中使用特定于派生类的枚举实现接口?

如何在C#中使用重载算术运算符创建接口?

如何在C#中使用DLL Import和Get事件调用回调方法C ++

如何在ASP.NET Core中使用C#生成自定义键号

如何在 C# 中使用自定义域名获取当前 PathName?

如何在 MVC 视图页面中使用我的 c# 类文件中定义的枚举

如何在C#中使用定义的对象而不是字符串?

Xamarin.Forms:如何在 C# 代码中使用自定义字体