我正在测试我的应用程序,但在运行测试用例时,我收到 NUllPointer 异常,因为它无法映射 YML 文件中的值。
您能告诉我如何实现这一目标吗?
Controller 类
class ControllerClass {
@Value("${app.items}")
String[] items; -- coming as null while running test cases
// remaing code
}
application-test.yml
app:
items: a, b, c, d
测试类
@SpringJUnitConfig
@SpringBootTest
@ActiveProfiles("test)
class TestControllerClass {
@InjectMock
ControllerClass controller;
@Mock
ServiceClass service;
@Test
//test case
}
最佳答案
Mockito 不知道要做什么 - 不过你可以手动完成:
@Before
public void setUp() {
String[] items = new String[2];
items[0] = "a";
items[1] = "b";
ReflectionTestUtils.setField(controller, "items",
items);
}
关于java - @Value 在 junit 5 中为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69770556/