【发布时间】:2017-04-19 12:19:42
【问题描述】:
我对使用 spring boot 1.5.2.RELEASE 构建的 spring-data-rest webapp 进行了以下 spock 集成测试。
@SpringBootTest(classes = com.my.server.Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyWebAppSpec extends Specification {
@Autowired
DemoData demoData;
def setup() {
createDemoData();
}
private void createDemoData() {
if (demoData.myMap.keySet().size() == 0) {
demoData.load();
}
}
...
}
DemoData 类如下所示:
@Component
public class DemoData {
public Map<String, String> myMap = new HashMap<>();
public void load() {...}
...
}
我发现在 MyWebAppSpec demoData.myMap 的 createDemoData 方法中是 null 而不是空 Map。当我在 DemoData 类中将其初始化为空地图时,为什么会这样,我该如何解决这个问题?
【问题讨论】:
标签: spring-boot integration-testing spock