alibaba / testable-mock

换种思路写Mock,让单元测试更简单
https://alibaba.github.io/testable-mock/
MIT License
1.83k stars 310 forks source link

TestableTool.MOCK_CONTEXT报空指针异常 #183

Closed maojiuyao closed 2 years ago

maojiuyao commented 3 years ago

单元测试中写TestableTool.MOCK_CONTEXT.put("case", "object");报空指针异常。。debug了下TestableTool.MOCK_CONTEXT.为空,我看官方文档里没有写这个还需要初始化啥的。。

linfan commented 3 years ago

MOCK_CONTEXT只能在测试类和Mock方法里使用,不需要初始化。

如果是在测试类里使用的,有一种可能是TestableMock没有识别出当前类型是测试类。是使用的什么单元测试框架框架呢,JUnit、TestNG还是其他的什么?

maojiuyao commented 3 years ago

用的junit, image 这一个步骤直接空指针异常了,记得最开始的时候ok的,现在运行突然报错了。

linfan commented 3 years ago

会不会是pom.xml或者build.gradle里的TestableMock Agent注入配置有动过导致没生效呢?

单从上述代码片段还无法看出其他可能导致MOCK_CONTEXT未被初始化的原因。

maojiuyao commented 3 years ago

会不会是pom.xml或者build.gradle里的TestableMock Agent注入配置有动过导致没生效呢?

单从上述代码片段还无法看出其他可能导致MOCK_CONTEXT未被初始化的原因。

刚检查了下pom文件的配置,没动过,和官方文档上的一样。。

BlackTomm commented 3 years ago

会不会是pom.xml或者build.gradle里的TestableMock Agent注入配置有动过导致没生效呢? 单从上述代码片段还无法看出其他可能导致MOCK_CONTEXT未被初始化的原因。

刚检查了下pom文件的配置,没动过,和官方文档上的一样。。

我也遇到了,使用的是0.6.2,但官方demo本地能运行,之前一个项目同一个版本mock成功了,换一个项目继续用,会报这个错误,mock方法也没生效,之前测试的项目也没有在电脑上搜到testable-agent.log

BlackTomm commented 3 years ago

会不会是pom.xml或者build.gradle里的TestableMock Agent注入配置有动过导致没生效呢? 单从上述代码片段还无法看出其他可能导致MOCK_CONTEXT未被初始化的原因。

刚检查了下pom文件的配置,没动过,和官方文档上的一样。。

我也遇到了,使用的是0.6.2,但官方demo本地能运行,之前一个项目同一个版本mock成功了,换一个项目继续用,会报这个错误,mock方法也没生效,之前测试的项目也没有在电脑上搜到testable-agent.log

解决了,maven-surefire-plugin没配置对,testable升级到0.6.8能正常运行