【发布时间】:2022-01-28 21:43:26
【问题描述】:
我目前正在开发一个 Spring Boot 项目。我正在为一个类编写一个 JUnit 5 测试,如下所示,
class TheClassUnderTest {
public String methodToTest() {
Map<Integer, Object> collection = SomeOtherClass.someStaticField;
/*
Some processing logic
*/
}
}
我想知道是否有办法模拟“SomeOtherClass.someStaticField”的使用,以便我可以测试我的类“TheClassUnderTest”。我也使用 Mockito,所以也欢迎任何使用 Mockito 的答案
【问题讨论】:
-
将 methodToTest() 声明为静态方法,因为静态变量只能从静态上下文中访问
-
在测试中,应该能够将
SomeOtherClass.someStaticField设置为正在测试的场景所需的任何值。 -
如何在测试期间设置
SomeOtherClass.someStaticField的值是问题所在。 @AndrewS -
这将是安排测试的一部分 - 搜索 测试安排行为断言 以获取示例。
-
你能在这里举个例子吗
标签: java spring spring-boot junit junit5