android - Mockito 3.4.0 静态模拟异常
问题描述
尝试模拟静态方法时出现以下异常。
对于 SettingsUtility,静态模拟已经注册在当前线程中要创建一个新的模拟,必须取消现有的静态模拟注册
@Before
fun setUp() {
mockStatic(SettingsUtility::class.java) {
`when` { SettingsUtility.method(app) }.thenReturn { "" }}
}
解决方案
返回对象的 MockedStatic.close() 方法必须在完成测试时调用,否则模拟将在当前线程上保持活动状态。
我不确定它是否与它在 Java 中的完成方式相同。希望这个 Java 代码片段有帮助
private static MockedStatic<SettingsUtility> mockedSettings;
@BeforeAll
public static void init() {
mockedSettings = mockStatic(SettingsUtility.class);
}
@AfterAll
public static void close() {
mockedSettings.close();
}
推荐阅读
- r - 在R中动态创建excel文件
- datastore - Aerospike 数据中心和集群节点有什么用?他们之间有什么区别吗?
- ios - 即使更新了内容的情节提要,通知内容也不会被调用
- spring-boot - IdentityServer4 保护 SpringBoot API
- git - Git稀疏结帐错误“条目'路径/到/文件'未更新。无法更新稀疏结帐”
- javascript - 在 dropzone 中显示视频缩略图的问题
- python - 数据框未正确附加
- c# - 如何修复 xamarin forms android 上的 google play service version 错误?
- git - 在 git rebase 期间移动所有分支标签
- python - Keras PREDICTION 抛出'TypeError:ufunc'add'不包含签名匹配类型dtype的循环('
我构建了一个具有以下结构的槽填充(一种序列分类)模型:自定义 ELMo 嵌入层 - BiLSTM - CRF。
它训练得很好。但在预测中我得到:
'TypeError: ufunc 'add' did not co