断言是否使用所需参数调用 Func

本文关键字:参数 调用 Func 是否 断言 | 更新日期: 2023-09-27 18:34:18

 public class ClassUnderTest
    {
        void Process(Func<string, bool> doSomething)
        {
            //other code
            doSomething("123");
        }
    }

如何断言使用参数 123 调用 doSomething

断言是否使用所需参数调用 Func

这么简单。只需创建一个执行断言的委托并将其传递给 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);
}
例如,

您可以使用 Rhino Mocks:

someObject.AssertWasCalled(x => x.doSomething("123"));

检查这个: https://hibernatingrhinos.com/Oss/rhino-mocks/learn/Usage/assert-that-a-method-is-called-with-a-value-in-expected-state