品牌建设 网站,网站建设费属于哪个税种,烟台市网站建设,企业建设网站管理制度代码单元测试问题总结#xff1a;
1、测试类中引用第三方jar包类报错
问题原因#xff1a; 测试的库中没有包含第三方jar包。
解决办法#xff1a; 在app下gradle中加入第三方jar包配置#xff1a; testImplementation files(‘libs/third.jar’)
2、自定义Shadow类不生…代码单元测试问题总结
1、测试类中引用第三方jar包类报错
问题原因 测试的库中没有包含第三方jar包。
解决办法 在app下gradle中加入第三方jar包配置 testImplementation files(‘libs/third.jar’)
2、自定义Shadow类不生效还是提示找不到被Shadow类
问题原因 检查下是不是使用了PowerMock自测使用PowerMock后Shadow不生效
解决办法 去掉PowerMock改用Mockito试试或者第三方依赖都换成Shadow我这也没啥好的方法。
3、测试单例类有时候单条测试用例可以跑过但是跑整个类的单元测试的时候不通过
问题原因 setUp方法中获取单例对象但是tearDown中没有置空每次获取的单例对象都是一个导致之前测试的设置的值还是生效的。
解决办法 单例类中加一个destroy方法把单例对象sInstance置空每条测试用例开始前执行setUp方法获取一个新的对象tearDown中执行destroy方法。
4、使用PowerMock时报错Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)ClassNotFoundException
问题原因 1第一种原因是Mockito和PowerMock的版本号对应关系不对。对应关系可参照下面博客
PowerMock遇到java.lang.ClassNotFoundException: org.mockito.cglib.proxy.MethodInterceptor
2没有加前面的PowerMockIgnore({ “org.mockito., org.robolectric.”, “android.*” })
5、使用PowerMock时报空指针例如ATest类中调用B中的方法funcD该方法中有用到上下文报错Context是空。
解决办法PowerMockito.doNothing().when(B对象).funcD();
6、测试配置testCoverageEnabled 时不要在release配置中影响运行速率需要配置在debug中。
buildTypes {debug{testCoverageEnabled true}release {minifyEnabled falseproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}}