【发布时间】:2022-01-19 11:10:27
【问题描述】:
这里是我的测试地点:
src/test/java
└── cat
└── gencat
└── catsalut
└── hes
└── mpi
└── unit
└── mapper
└── PatientMapperTest.java
PatientMapperTest.java 是:
@SpringBootTest
@RequiredArgsConstructor
public class Patient {
private final TypesMapper typesMapper;
@Test
void test() {
assertNull(this.typesMapper);
}
}
我也试过这段代码(删除lombok注释并显式初始化typesMapper字段):
@SpringBootTest
public class PatientMapperTest {
private final TypesMapper typesMapper;
public PatientMapperTest(TypesMapper typesMapper) {
this.typesMapper = new TypesMapperImpl();
}
@Test
void test() {
assertNull(this.typesMapper);
}
}
我的行为和以前完全一样。
然而,当我执行mvn test 时,它似乎被忽略了:
$ mvn test
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] PatientMapperTest.test » ParameterResolution No ParameterResolver registered f...
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
相关pom依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
有什么想法吗?
【问题讨论】:
-
这个错误并不意味着你的bean没有被注入它是别的东西。请看stackoverflow.com/questions/51867650/…
-
用
@Autowired注释构造函数参数是否有效?
标签: spring-boot junit5 spring-boot-test