断言是否使用所需参数调用 Func
Assert if Func is called with required parameters
public class ClassUnderTest
{
void Process(Func<string, bool> doSomething)
{
//other code
doSomething("123");
}
}
如何断言 doSomething 是使用参数 123 调用的?
您可以使用例如 Rhino Mocks:
someObject.AssertWasCalled(x => x.doSomething("123"));
就这么简单。只需创建一个执行断言的委托并将其传递给 Process
方法。
例如:
[Test]
public void SomeTestCase()
{
ClassUnderTest sut = new ClassUnderTest();
Func<string, bool> func = (param)=>
{
Assert.That(param, Is.EqualTo("123"));
return true;//or whatever
};
sut.Process(func);
}
public class ClassUnderTest
{
void Process(Func<string, bool> doSomething)
{
//other code
doSomething("123");
}
}
如何断言 doSomething 是使用参数 123 调用的?
您可以使用例如 Rhino Mocks:
someObject.AssertWasCalled(x => x.doSomething("123"));
就这么简单。只需创建一个执行断言的委托并将其传递给 Process
方法。
例如:
[Test]
public void SomeTestCase()
{
ClassUnderTest sut = new ClassUnderTest();
Func<string, bool> func = (param)=>
{
Assert.That(param, Is.EqualTo("123"));
return true;//or whatever
};
sut.Process(func);
}