我对此很陌生,所以毫无疑问,我正在做一些愚蠢的事情。创建我的第一个模拟对象时出错
我想创建一个模拟对象:
mockCurrencyConversion = mocks.NewMock<ICurrencyConversion>();
,并收到此错误:
The non-generic method 'NMock2.Mockery.NewMock(System.Type)' cannot be used with type arguments
ICurrencyConversion:
public interface ICurrencyConversion
{
decimal convertCurrency(string fromCurrency, string toCurrency, decimal amount);
int addNumbers(int i, int j);
decimal getRate(CurrencyRateResponse rates, string fromCurrency);
CurrencyRateResponse getCurrencyRates();
HttpWebRequest GetWebRequest(string formattedUri);
}
我的测试代码:
[TestFixture]
public class WhygoTest
{
private Mockery mocks;
private ICurrencyConversion mockCurrencyConversion;
[SetUp]
public void SetUp()
{
mocks = new Mockery();
mockCurrencyConversion = mocks.NewMock<ICurrencyConversion>();
}
[Test]
public void MyAddTest()
{
var cc = new CurrencyConversion();
Assert.AreEqual(cc.addNumbers(1, 2), 3);
}
}
错误似乎很清楚,我!它说你不能将类型参数传递给该方法,而是它需要一个类型为“System.Type”的参数。你尝试过吗? – 2012-02-14 10:07:27