- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Moq.MockRepository.Of() 和 Moq.MockRepository.OneOf() 的正确用法是什么?我试过类似的方法来弄清楚。
var mr = new MockRepository(MockBehavior.Strict);
var m = mr.Of<ISomeInterface>();
foreach (var obj in m)
cnt++;
我发现 cnt 一直递增到没有尽头。是什么赋予了?与此相关的文档尚未发布。
最佳答案
您可以使用 Moq.MockRepository.Of()
通过表达式创建模拟。这最好用一个例子来解释:
public interface ITest
{
String Say();
Int32 DoSomething(Int32 a, Int32 b);
}
class Program
{
public static void Main()
{
var repo = new MockRepository(MockBehavior.Strict);
var mock = repo.Of<ITest>()
.Where(s => s.Say() == "Hi!")
.Where(s => s.DoSomething(5, 4) == 20)
.Where(s => s.DoSomething(4, 5) == 9)
.Where(s => s.DoSomething(It.IsAny<Int32>(), 7) == 99)
.First();
Console.WriteLine(mock.Say()); // prints Hi!
Console.WriteLine(mock.DoSomething(5, 4)); // prints 20
Console.WriteLine(mock.DoSomething(4, 5)); // prints 9
Console.WriteLine(mock.DoSomething(23423, 7)); // prints 99
Console.WriteLine(mock.DoSomething(0, 0)); // Fail due to MockBehavior.Strict
Console.ReadKey();
}
}
关于c# - 如何使用 Moq.MockRepository.Of() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638422/
我是单元测试的新手,我在 ASP.NET MVC 中使用 Rhino Mock 我用这段代码创建了一个主测试类: [TestFixture] public class Persiste
Moq.MockRepository.Of() 和 Moq.MockRepository.OneOf() 的正确用法是什么?我试过类似的方法来弄清楚。 var mr = new MockReposit
我想弄清楚 MockRepository 的作用。 我看到有一个我理解的 Create 方法,它还有一个我不理解的 Of 和 OneOf 方法。 T应该是什么? Mock 还是 T 本身? 表情应该怎
有没有办法断言 MockRepository 中没有调用任何方法? 假设我有: var repo = MockRepository.GenerateStub(); 我知道我能做到: repo.Asse
我正在使用 Moq 的 MockRepository.Of<> 方法模拟各种方法进行测试。当我通过 Where 子句将多个方法设置链接在一起时,它会在模拟方法有返回值时起作用。这显然是由于 Where
在尝试使用 Hippomock 的 MockRepository::ExpectCall 注册期望时,我在 MockRepository::BasicRegisterExpect 的下一行遇到了 No
我一直在使用(并喜欢)新的 Rhino Mocks AAA 语法。然而,让我困惑的一件事是我必须像这样创建我的 stub 和模拟: var v1 = MockRepository.GenerateSt
我是一名优秀的程序员,十分优秀!