可以将NSubstitute设置为执行任何传递的委托

时间:2014-05-13 11:15:48

标签: c# .net nsubstitute

我有以下界面

public interface IActionSecureExecuter
{
    void SecureExecuteOperation(Action action);

    T SecureExecuteOperation<T>(Func<T> action);
}

现在我想模拟实现,以便它确实执行它作为参数获取的委托。使用第一种方法非常简单:

m_Executer.SecureExecuteOperation(Arg.Invoke());

但是我对第二个的通用实现有麻烦。是否可以使用该Func执行某些操作,或者我必须为每个T进行设置?我担心根据question这是不可能的,但我不是百分百肯定的。这就是我现在所做的:

private void SetupInvokeAction<T>()
{
    m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}

我在每个测试方法中调用此函数。但我真的想把它放在设置中。

0 个答案:

没有答案