Я измерил покрытие кода с помощью EclEmma.Я ожидал, что тестируются только исходные пакеты.Удивительно, но также измеряются тестовые случаи JUnit.
public class EmailTest {
public static final String VALID_MAIL = "xyz@qwe.abc";
public static final String INVALID_MAIL_WITHOUT_AT = "xyzqwe.abc";
@Test
public void shouldCreateValidEmail() {
Email email = null;
try {
email = new Email (VALID_MAIL);
} catch (NotValidEmailException e) {
Assert.fail();
}
Assert.assertEquals("Email: " + VALID_MAIL + " should be correct created", VALID_MAIL, email.getEmail());
}
@Test(expected = NotValidEmailException.class)
public void shouldThrowExceptionWhenMailHasNoAt() throws NotValidEmailException {
new Email (INVALID_MAIL_WITHOUT_AT);
}
Например, у меня есть базовый тестовый пример для проверки правильности по электронной почте.Покрытие теста для этого тестового класса "EmailTest" составляет 73%.Тестируемый класс «Электронная почта» покрыт на 100%.
Почему измеряется покрытие кода в тестовых примерах и для чего это нужно?