"тесты в проекте" с покрытием"
Дерево проблем: p>
- Появился SonarCube, и для него требуется охват 80 %.
- Поскольку существует много шаблонов, охват в порядке, но между 70 -75%
... это вообще не имеет смысла, но этот вопрос цель состоит в том, чтобы повысить охват классов - < em>чисто технический.
Пример первый:
Код: Выделить всё
import java.util.List;
public class ResultData {
public List data;
}
Код: Выделить всё
public class ResultDataTest {
@Test
void testResultCollectionDataField() {
// Create an instance of ResultCollection
ResultData resultData = new ResultData();
// Set values for the Data field
resultData.data = Arrays.asList("Data1", "Data2", "Data3");
// Assert that the Data field contains the expected values
assertNotNull(resultData.data);
assertEquals(3, resultData.data.size());
assertEquals("Data1", resultData.data.get(0));
assertEquals("Data2", resultData.data.get(1));
assertEquals("Data3", resultData.data.get(2));
}
@Test
void testEmptyResultCollectionDataField() {
// Create an instance of ResultCollection without setting any data
ResultData resultData = new ResultData();
// Assert that the Data field is initially null
assertNull(resultData.data);
}
}
- Класс: 0 % (0/1)
- Метод: 100 % (0/0)
- Линия: 100 % (0/0)
Код: Выделить всё
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
public class InfoRequest {
@NotBlank
@Size(min = 8, max = 8)
public String code;
}
Код: Выделить всё
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.*;
public class InfoRequestTest {
private Validator validator;
@BeforeEach
public void setup() {
// Set up a validator for validating the constraints
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
}
@Test
public void testValidCode() {
// Create an instance of InfoRequest and set a valid code
InfoRequest infoRequest = new InfoRequest();
infoRequest.code = "12345678"; // Valid, exactly 8 characters
// Validate the object
Set violations = validator.validate(infoRequest);
// Assert that there are no violations
assertTrue(violations.isEmpty());
}
@Test
public void testInvalidCodeTooShort() {
// Create an instance of InfoRequest and set an invalid (too short) code
InfoRequest infoRequest = new InfoRequest();
infoRequest.code = "1234"; // Invalid, less than 8 characters
// Validate the object
Set violations = validator.validate(infoRequest);
// Assert that there's one violation due to size constraint
assertEquals(1, violations.size());
}
}
- Класс: 0 % (0/1)
- Метод: 100 % (0/0)
- Линия: 100 % (0/0)
- Почему охват классов остается нулевым?
- Как перевернуть охват классов на 100% (1/1) ?
Подробнее здесь: https://stackoverflow.com/questions/790 ... plate-code
Мобильная версия