Правило Pmd: слишком много статического импорта может привести к грязному коду в unitTest, который не подвергается риску - PullRequest
2 голосов
/ 04 октября 2019

У меня есть сомнения, у меня есть класс, в котором я использую другой статический импорт для констант импорта, моя проблема в том, что я получаю сообщение об ошибке: Too many static imports may lead to messy code. Но в модульном тесте это выглядит неплохо. Например, в классе модульных тестов я использую этот импорт с любой проблемой:

import static com.rccl.middleware.kidsclub.engine.web.controller.KidController.KID_FIND_PATH;
import static com.rccl.middleware.kidsclub.engine.web.controller.KidController.KID_LIST_PATH;
import static com.rccl.middleware.kidsclub.engine.web.controller.KidController.KID_PATH;
import static com.rccl.middleware.kidsclub.engine.web.controller.KidController.KID_REGISTER_ALL_PATH;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.then;
import static org.mockito.Mockito.times;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.request;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;```

И наоборот, в моем классе:

import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
import static org.springframework.http.HttpStatus.NOT_FOUND;
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;

Этот импорт вызывает у меня проблемы, и я получаюсообщение об ошибке: слишком много статического импорта может привести к грязному коду. Я не совсем уверен, почему.

Я не могу получить доступ к файлу pmd, чтобы выяснить истинную причину этой проблемы. Любая подсказка?

Спасибо!

Ответы [ 2 ]

1 голос
/ 04 октября 2019

Это кажется нежелательной конфигурацией или правилом PMD; особенно в тестировании, такого рода статический импорт следует ожидать. Настройку PMD следует изменить, чтобы полностью отключить эту проверку или не применять ее к тестовому коду.

0 голосов
/ 05 октября 2019

Я использовал @SuppressWarnings ("PMD.TooManyStaticImports"), чтобы избежать этой проблемы в моем классе.

...