Почему этот тест NUnit + Moq не проходит?

2

Надеюсь, вы знаете, потому что я этого не вижу. Бонусные очки для тех, кто выясняет, как можно достичь того, чего пытается достичь этот тест.

using NUnit.Framework;
using Moq;

[TestFixture]
public class MoqHuh
{
    public class A {}
    public class B : A {}

    public interface IHelper
    {
        void DoIt(A a);
    }

    [Test]
    public void Huh()
    {
        var mock = new Mock<IHelper>();
        mock.Expect(helper => helper.DoIt(It.IsAny<B>())).Verifiable();

        mock.Object.DoIt(new B());

        mock.VerifyAll();
    }
}
Теги:
moq
nunit

4 ответа

4
Лучший ответ

Оказывается, это была ошибка пилот-сигнала. Я неправильно предположил, что Moq отлично работает на Mono. (что похоже на то, что все отлично). Эта проблема возникает только при компиляции с помощью mono gmcs, а не при компиляции с помощью Microsoft csc.

Я сообщал о соответствующих ошибках с командой mono и продолжаю следить за тем, чтобы полный тестовый пакет Moq прошел при компиляции с помощью mono gmcs.exe

Извините за шум.

Лукас

0

Это не воспроизводится с последней версией из trunk (3.0 beta)

0

Извините, что недостаточно ясна. То, что я тестирую, действительно то, что Mock ведет себя так, как я ожидал. Для меня тест выше не подходит. Я очень удивлен, услышав, как это проходит за вас. Я запускаю тест в VisualStudio 2008. Я только что обновился до Moq 2.6, и тест все еще терпит неудачу. Какую версию Moq вы используете, с которой проходит этот тест?

  • 0
    Я использую NUnit 2.4.8 и Moq.2.6.1014.1
  • 0
    Сюжет утолщается. В совершенно пустом проекте тест проходит и для меня. Но при включении его в сборку с несколькими другими тестами происходит сбой. <надевает шляпу Шерлока Холмса>
Показать ещё 1 комментарий
0

Этот тест отлично работает.

Поскольку нет тестируемой системы, вы проверяете, что moq работает как ожидалось.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню