Как протестировать клиент Wep API без запуска приложения

#c# #asp.net-core #testing #nunit #swagger-codegen

Вопрос:

У меня есть несколько контроллеров api, я создал клиент swagger с тестами для них и заполнил его. Вот пример заполненного тестового класса:

 [TestFixture]
public class CategoriesApiTests
{
    private CategoriesApi _instance;

    [SetUp]
    public void Init()
    {
        _instance = new CategoriesApi("http://localhost:5000/");
    }

    [Test]
    public void InstanceTest()
    {
        Assert.IsInstanceOf<CategoriesApi>(_instance, "instance is a CategoriesApi");
    }
}

 

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

Исходный код: IO.Суэггер ИО.Развязность.Тестовые Контроллеры

Комментарии:

1. Вы можете опубликовать свой на IIS или что-то еще. Если вы не хотите запускать приложение в visual studio. Или у вас есть другие причины?

2. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Что вы, возможно, захотите сделать, так это разделить всю бизнес-логику в отдельную библиотеку DLL, а затем использовать модульное тестирование.

Комментарии:

1. Скорее всего, я хотел бы провести интеграционное тестирование. Но как я могу запустить приложение как фиктивное?