Ошибка создания моего первого объекта Mock - PullRequest
0 голосов
/ 14 февраля 2012

Я новичок в этом, так что, несомненно, я делаю что-то глупое.

Я пытаюсь создать фиктивный объект:

mockCurrencyConversion = mocks.NewMock<ICurrencyConversion>();

и получаю эту ошибку:

Не универсальный метод 'NMock2.Mockery.NewMock (System.Type)' не может быть используется с аргументами типа

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);
    }
}

1 Ответ

1 голос
/ 14 февраля 2012

Используйте метод NewMock() с типом в качестве аргумента:

mockCurrencyConversion = 
    (ICurrencyConversion) mocks.NewMock(typeof(ICurrencyConversion));
...