В моей программе используется глобальная обработка ошибок. Когда я использую fakeRequest() для проверки, он выдает исключение вместо запуска обработчика ошибок. Я пропустил какую-то конфигурацию? Или как я могу проверить свой глобальный обработчик ошибок.Play 2.5.x обработка ошибок junit с помощью fakeRequest
Ниже мой текущий код:
Контроллер:
public class MyController {
public Result MyService() {
if (true) throw new RuntimeException("exception");
}
}
ErrorHandler:
@Singleton
public class MyErrorHandler extends DefaultHttpErrorHandler {
@Inject
public MyErrorHandler (Configuration configuration, Environment environment, OptionalSourceMapper sourceMapper, Provider<Router> routes) {
super(configuration, environment, sourceMapper, routes);
}
@Override
public CompletionStage<Result> onServerError(Http.RequestHeader request, Throwable exception) {
return CompletableFuture.completedFuture(ok(exception.getMessage()));
}
}
Тест:
public class MyTest {
@Test
public void testMethod() {
Result result = route(fakeRequest("GET", "/MyService"));
assertEquals(OK, result.status());
}
}
Примечание: При запуске приложения, ошибка обработка работая как ожидалось.