В этой функции:
private void assertAssurancesMissing(Vote vote) {
assertThrows(
() -> voteManager.showVote(vote.id, "user")
).assertMessageIs("missing assurances");
}
Третья строка с лямбда-функцией показана желтым цветом в выводе покрытия кода в Eclipse.Также не показано покрытие для метода showVote ().
Соответствующие части класса, содержащие assertThrows:
public class ThrowableTester {
private Throwable thrown;
public ThrowableTester assertThrows(Thrower thrower) {
thrown = null;
try {
thrower.throwException();
} catch (Throwable exception) {
thrown = exception;
}
if (thrown == null) {
fail("no exception thrown");
}
return this;
}
}
, а Thrower выглядит следующим образом:
@FunctionalInterface
public interface Thrower {
void throwException() throws Throwable;
}
Я почти уверен, что код выполнялся в тестах, поэтому он должен быть связан с лямбда-функцией или @ FunctionalInterface.
Как исправить покрытиеотчет