Модульное тестирование с использованием RequestFixture для Java без учета .uri, предоставленного для обработчика - PullRequest
0 голосов
/ 24 апреля 2019

При написании модульных тестов для моего обработчика запросов (ratpack.handling.Handler) с использованием RequestFixture я замечаю, что fixture.uri ("/ invalidURI") не рассматривается и запрос обрабатывается так, как если бы я вызвал правильныйURI.Есть ли что-то, что вызывает такое поведение?

Я использую тестовый класс TestNG для тестирования

Пытался найти в Интернете примеры примеров RequestFixture с недопустимым URI в Java, но не смог найтилюбой.Следовательно, публикуя вопрос

    HandlingResult invalidURIInvocationResult = RequestFixture.handle(new LoginHandler(), fixture -> {
        fixture.responseHeader("Access-Control-Allow-Origin", "*").responseHeader("Accept-Language", "en-us")
                .responseHeader("Accept-Charset", "UTF-8").responseHeader("Content-Type", "application/json")
                .responseHeader("Cache-Control", "no-cache");
        fixture.uri("logininvalid");
    });
    HandlingResult validInvocationResult = RequestFixture.handle(new LoginHandler(), fixture -> {
        fixture.responseHeader("Access-Control-Allow-Origin", "*").responseHeader("Accept-Language", "en-us")
                .responseHeader("Accept-Charset", "UTF-8").responseHeader("Content-Type", "application/json")
                .responseHeader("Cache-Control", "no-cache");
        fixture.uri("login");
    });

Тестируемый обработчик будет обрабатывать только любые запросы, имеющие метод POST и URI / login.Любые другие запросы, такие как GET , приведут к 405 Method Not Allowed код ответа.И если URI запроса не / login , то 404 Not Found результат ожидается, и при проверке в Postman, это то, что возвращается API.

Чтобы проверить то же самое, когда я вызывал обработчик с двумя разными URI / login и / logininvalid с использованием RequestFixture, я вижу, что оба запроса обрабатываются так, как если бы я вызывал с помощью / login только что неверно.

Есть ли что-то, чего мне здесь не хватает в отношении RequestFixture?

Простите, если я сделалглупая ошибка, но я довольно новичок в области Ratpack и функционального программирования.Любая помощь будет принята с благодарностью.

...