Pmd 规则:过多的静态导入可能导致 unitTest 中的代码乱七八糟

ras*_*vap 3 java pmd static-import

我有一个疑问,我有一个类,我在其中对导入常量使用不同的静态导入,我的问题是我收到错误消息: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;```
Run Code Online (Sandbox Code Playgroud)

相反在我的课堂上:

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;
Run Code Online (Sandbox Code Playgroud)

这些导入给我带来了问题,我收到了错误消息:过多的静态导入可能会导致代码混乱。我不太确定为什么。

我无法访问 pmd 文件来找出此问题的真正原因。有什么线索吗?

谢谢!

ras*_*vap 5

I have used @SuppressWarnings("PMD.TooManyStaticImports") To avoid this issue in my class.

  • 我宁愿不使用这个解决方案,因为它需要在无数的文件中引入...最好通过排除整个项目的规则来做到这一点,这样你就只有 1 个地方来控制这个规则,而不是无数的地方 (2认同)