C# 是否可以设置NSubstitute以执行任何传递的委托
我有以下接口C# 是否可以设置NSubstitute以执行任何传递的委托,c#,.net,nsubstitute,C#,.net,Nsubstitute,我有以下接口 public interface IActionSecureExecuter { void SecureExecuteOperation(Action action); T SecureExecuteOperation<T>(Func<T> action); } 但是我对第二个的通用实现有困难。有没有可能用这个Func做点什么,或者我必须为每个T做一个设置?我恐怕这是不可能的,但我不是100%肯定。这就是我现在所做的: private v
public interface IActionSecureExecuter
{
void SecureExecuteOperation(Action action);
T SecureExecuteOperation<T>(Func<T> action);
}
但是我对第二个的通用实现有困难。有没有可能用这个Func做点什么,或者我必须为每个T做一个设置?我恐怕这是不可能的,但我不是100%肯定。这就是我现在所做的:
private void SetupInvokeAction<T>()
{
m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}
private void SetupInvokeAction()
{
m_Executer.SecureExecuteOperation(Arg.InvokeDelegate());
}
我在每个测试方法中调用这个函数。但是我真的想把它放在设置中。后一种方法应该做什么,调用
Func
委托并返回结果?实际上这是理想的结果(对于模拟)。我不知道如何在NSubstitue中设置它,所以我想检查它是否至少被调用。对不起,NSub目前不可能。每个通用实例都需要单独配置。我根据您的问题提出了一个问题。请随意分享您的想法。
private void SetupInvokeAction<T>()
{
m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}