Код: Выделить всё
package main;
public class SampleClass {
private String id;
public SampleClass(String id) throws IllegalArgumentException {
validation(id);
this.id = id;
}
public void validation(String inputId) throws IllegalArgumentException {
if (inputId.length() != 6) {
throw new IllegalArgumentException("Invalid length");
}
}
}
Код: Выделить всё
package main;
import org.junit.rules.ExpectedException;
public class Test {
@org.junit.Rule
public ExpectedException thrown = ExpectedException.none();
@org.junit.Test
public void normalTest() {
SampleClass sample = new SampleClass("123456");
}
@org.junit.Test(expected = IllegalArgumentException.class)
public void lengthTestOriginal() {
SampleClass sample = new SampleClass("1234567");
}
@org.junit.Test
public void lengthTestVersion1() {
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("Invalid length");
SampleClass sample = new SampleClass("12345");
}
@org.junit.Test
public void lengthTestVersion2() {
try {
SampleClass puerto2 = new SampleClass("1234567");
} catch (IllegalArgumentException e) {
org.junit.Assert.assertEquals("Invalid length", e.getMessage());
}
}
}
/>

Я знаю, что этот инструмент может быть не в состоянии однако, чтобы обнаружить такой код как охваченный, как обсуждалось здесь, есть ли способ написать тесты так, чтобы они отображались как охваченные? Как видите, я попробовал несколько альтернативных способов выполнить один и тот же тест, но все они не уместились в одной строке создания экземпляра.
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-expected
Мобильная версия