【问题标题】:How to mock manifest entries when unit testing with jcabi-manifests?使用 jcabi-manifests 进行单元测试时如何模拟清单条目?
【发布时间】:2014-12-08 10:26:25
【问题描述】:
这是 API 的官方文档严重缺乏与实际提供的 API 同步的罕见情况之一。
因此,jcabi-manifests API 文档明确指出 here 可以使用实用程序类 Manifests 静态模拟清单条目。不幸的是,上述页面中描述的静态方法 - 例如inject()、snapshot()、revert() - actual API 中缺少。
是否有人能够使用据称与 jcabi-manifests 一起提供的清单模拟功能?如果是,怎么做?
【问题讨论】:
标签:
java
unit-testing
mocking
manifest
jcabi
【解决方案2】:
对于Manifests 的更新版本(当前为1.1),解决方案是使用Manifests.DEFAULT,这是一个可以操作的映射。因此,对于我的测试,我所做的是添加我想要的属性,然后将其作为拆卸方法的一部分删除:
@After
public void tearDown() {
Manifests.DEFAULT.remove("my-client-version");
}
@Test
public void testGetClientVersion() {
Manifests.DEFAULT.put("my-client-version", "1.2.3");
final String actual = VersionUtils.getClientVersion();
assertThat(actual).isEqualTo("1.2.3");
}