Я добавил тест NUNit (здесь NUnit newby):
[Test]
public void TestHHSDeliveryInterface()
{
var Delivery = IOC.container.Resolve<IHHSDelivery>();
var i = Delivery.GetCount();
Assert.Greater(i, 16);
}
... на основе существующего:
[Test]
public void TestHHSInterface()
{
var HHSClient = IOC.container.Resolve<IHHSClient>();
var s = HHSClient.GetTestMessage("Dom", "Paz");
Assert.Greater(s.Value.Length, 0);
}
... для некоторого контекста класс запускается следующим образом:
[TestFixture, Category(SSCSCOMMON.UnitTests.Categories.IntegrationTest)]
public class HHSClientIntegrationTests
{
Метод (Delivery.GetCount();) теперь возвращает "консервированное" значение (17). Так оно и работает. Итак, почему тест не работает? К сожалению, тестовый код не является проблематичным - по крайней мере, у меня в нем есть точка останова, и он никогда не достигнут, и это должно произойти, если это произойдет, я бы подумал, как правило. NUnit выглядит так после запуска приложения и тестов:
С проблемным тестом прокомментировал, другие работают нормально.
Оказывается, решение этой проблемы также решило эту проблему.
Используя мои умственные навыки отладки:
Итак, почему тест не работает? К сожалению, тестовый код не является проблематичным - по крайней мере, у меня в нем есть точка останова, и он никогда не достигнут, и это должно произойти, если это произойдет, я бы подумал, как правило.
Вы не используете единичный тест на dll, который, как вы думаете, вы отлаживаете. Я предполагаю, что ваша контрольная точка отладки говорит вам, что код, который вы используете, отличается от исходного кода. Очистите каталоги развертывания/и ваш проект (все DLL) и перекомпилируйте.
RESTHHSDelivery.cs
Вы уверены , что вы получаете обратно правильныйIHHSDelivery
экземпляр изIOC.container.Resolve<IHHSDelivery>()
в тесте?RESTHHSDelivery.cs
? Казалось бы, что-то там вызываетSystem.NotImplementedException
. Это часто бывает, когда вы создаете классы и методы, используя инструменты IDE. Проверьте ваши конструкторы и реализацию дляGetCount()