我有以下方法来模拟:
AddParameter<T>(string parameterName, T value)
AddParameter<T>(string parameterName, T? value) where T : struct;
private void SetupAddParameter<T>(){
mock.Setup(u => u.AddParameter<T>(Moq.It.IsAny<string>(), Moq.It.IsAny<T>()))...
mock.Setup(u => u.AddParameter<T>(Moq.It.IsAny<string>(), Moq.It.IsAny<T?>())) -> not working
}如何才能模拟第二种方法?
发布于 2014-10-03 11:20:46
好的,您不能在同一个方法中同时执行两个设置,您需要在它自己的方法中执行struct版本,但有一个where T : strut限制:
private void SetupAddParameter<T>()
{
// Setup for AddParameter<T>(string parameterName, T value);
mock.Setup(u => u.AddParameter<T>(Moq.It.IsAny<string>(), Moq.It.IsAny<T>()));
}
private void SetupAddParameter<T>() where T : struct
{
// Setup for AddParameter<T>(string parameterName, T? value) where T : struct;
mock.Setup(u => u.AddParameter<T>(Moq.It.IsAny<string>(), Moq.It.IsAny<T?>()));
}https://stackoverflow.com/questions/26177112
复制相似问题