Модульный тест Moq работает на Windows, но не на сервере сборки Mono

У меня есть модульное тестирование для службы на основе ServiceStack, которая проходит на моей рабочей станции Windows, однако сервер TeamCity, который находится на Ubuntu / Mono, не проходит - другие тесты, тем не менее, запускаются, только один в частности.

Это не удается

    [Test]
    public void Post_Valid_Property_Should_Return_HttpStatus_OK()
    {
        var manager = new Mock<IRedisClientsManager>();
        var redisClient = new Mock<IRedisClient>();
        var redisTypedClient = new Mock<IRedisTypedClient<Share.Property.Model.Property>>();
        manager.Setup(t => t.GetClient()).Returns(redisClient.Object);
        redisClient.Setup(t => t.As<Share.Property.Model.Property>()).Returns(redisTypedClient.Object);
        var sut = new SomeService(manager.Object);
        var result = sut.Post(new PropertySaveRequest {Property = new Share.Property.Model.Property { Id = 1, OwnerId = 2 } });
        Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.OK));

    }

Другие тесты, не использующие макеты, проходят нормально, например.

    [Test]
    public void Post_Invalid_Property_Should_Throw_Exception()
    {
        _container = new WindsorContainer()
            .Install(new PropertyInstaller());
        var service = _container.Resolve<IPropertyService>();
        Assert.That(() => service.Post(new PropertySaveRequest { Property = new Share.Property.Model.Property{Id=-11, OwnerId = -14} }),
            Throws.Exception.TypeOf<ArgumentOutOfRangeException>());

    }

Журнал TeamCity

Я предполагаю, что ошибка связана с Moq, так как другой тест может использовать Castle IOC без броска.

Тест (ы) не пройден. System.Collections.Generic.KeyNotFoundException: указанный ключ отсутствует в словаре.

Любые идеи приветствуются

0 ответов

Другие вопросы по тегам