При написании модульных тестов для моего обработчика запросов (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 и функционального программирования.Любая помощь будет принята с благодарностью.