c# - 如何使用 Moq 创建回声模拟?

标签 c# unit-testing moq

我正在为我的 ITransformer 接口(interface)创建一个模拟。

public interface ITransformer
{
    String Transform( String input );
}

我可以创建一个基于特定输入返回给定字符串的模拟:

var mock = new Mock<ITransformer>();
mock.Setup(s => s.Transform("foo")).Returns("bar");

我想做的是创建一个带有 Transform() 方法的模拟,该方法回显传递给它的任何内容。我该怎么做呢?有可能吗?

我意识到我的问题可能会颠覆 Moq 和模拟通常应该工作的方式,因为我没有指定固定的期望。

我也知道我可以轻松地创建自己的类来执行此操作,但我希望找到一种可以在类似情况下使用的通用方法,而不必每次都定义一个新类。

最佳答案

var mock = new Mock<ITransformer>();
m.Setup(i => i.Transform(It.IsAny<string>())).Returns<string>((string s) => { return s;});

关于c# - 如何使用 Moq 创建回声模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867088/

相关文章:

c# - 相对于菜单调整表单内容的问题

c# - .NET StringBuilder 前加一行

java - Mockito 没有正确 stub 将列表作为参数的方法

c++ - 升压测试应用程序初始化

unit-testing - Moq - 测试 Controller 方法是否抛出异常

c# - 在 WinRT 中暂停应用程序后恢复 CaptureElement

c++ - 如何使用 CppUnitTestFramework 在 Visual Studio native C++ 单元测试中获取 $(ProjectDir) 路径?

起订量为任何成员抛出异常

c# - Moq - 模拟类时,虚方法中的引用参数未正确更新

c# - DDD 和 “Onion Architecture” 是什么关系?