我试图编写一个包含使用遗留代码的单元测试。问题是,据我所知,遗留代码使用属性文件中的键/值对来初始化其最终的静态私有成员之一,而我丝毫不知道该属性文件可能在哪里(整个应用程序相当庞大)。
所以,在我的测试中,我想做这样的事情(使用Mockito):
LegacyClass legacyClass = mock(LegacyClass.class);
最后得到一个ExceptioninInitializationError
,这表明它找不到某个属性键。
private static final int LEGACY_PROPERTY =
Integer.parseInt(LegacyPropertyManager.getProp("legacy.property.key"));
如果没有像PowerMock这样聪明的库,您可能不会走得很远。请注意,LegacyClass.java在静态final字段中初始化该属性,这意味着初始化器将在加载后立即运行。PowerMock使用更深层次的魔力(阅读:字节码操作)来允许您模拟上面引用的静态getprop
方法。
您需要执行以下操作才能开始使用PowerMockito:
@RunWith(PowerMockRunner.class)
@PrepareForTest(LegacyPropertyManager.class)
public class YourClass {
@Before public void stubLegacyPropertyManager() {
Mockito.when(LegacyPropertyManager.getProp("legacy.property.key"))
.thenReturn("42");
}
@Test public void yourTest() {
// ...
}
}
请注意类级别的注释,它们分别允许PowerMock初始化和注册正确的类以进行静态级别的模拟。
我正在使用JavaEE6,需要从“.properties”文件加载配置。是否有推荐的方法(最佳实践)来加载这些值从配置文件中使用依赖项注入?我在Spring中找到了这方面的注释,但还没有找到JavaEE的“标准”注释。 这家伙从零开始开发了一个解决方案: http://weblogs.java.net/blog/jjviana/archive/2010/05/18/applicaction-c
我很难理解WPF中的依赖属性,可能是因为我要找的用例非常具体,没有很好的文档化。 我有一个自定义控件,看起来像这样(请忽略所有可怕的代码,这是暂时的!): 我这样称呼它在我的主窗口内: 我只想在主窗口中的自定义控件调用中说: (其中fillPercent是另一个脚本中不需要担心的内容)。该控件将被展开,因此需要保持为自定义控件。我明白我可能需要依赖属性,但在尝试了许多不同的方法后,我无法弄清楚如何
本文向大家介绍wpf 附加的依赖项属性,包括了wpf 附加的依赖项属性的使用技巧和注意事项,需要的朋友参考一下 示例 何时使用 附加属性是一种依赖项属性,可以将其应用于任何属性,DependencyObject以增强了解该属性存在的各种控件或服务的行为。 附加属性的一些用例包括: 有一个父元素遍历其子元素并以某种方式作用于子元素。例如,Grid控制使用Grid.Row,Grid.Column,Gr
本文向大家介绍wpf 只读依赖项属性,包括了wpf 只读依赖项属性的使用技巧和注意事项,需要的朋友参考一下 示例 何时使用 只读的依赖项属性与普通的依赖项属性相似,但其结构不允许从控件外部设置其值。如果您拥有仅供消费者参考的属性,则此方法很好用,例如IsMouseOver或IsKeyboardFocusWithin。 如何定义 与标准依赖项属性一样,只读依赖项属性必须在从派生的类上定义Depend
本文向大家介绍wpf 标准依赖项属性,包括了wpf 标准依赖项属性的使用技巧和注意事项,需要的朋友参考一下 示例 何时使用 几乎所有的WPF控件都大量使用依赖属性。依赖项属性允许使用许多仅标准CLR属性无法使用的WPF功能,包括但不限于对样式、动画、数据绑定、值继承和更改通知的支持。 TextBox.Text属性是需要标准依赖项属性的简单示例。在这里,如果Text是标准的CLR属性,则无法进行数据
https://github.com/brianjvarley/react-native-prototyping/blob/i18nprovider-feature/src/modules/languageprovider/tests/languageprovider-test.js
问题: 我在软件中有3个部分: 客户A服务 客户B服务 目标C服务 我想从A和B连接到C 我写了一个库,设置如下: /src/main/java/pkg/TargetConnector。爪哇 我的客户A和B都有自己的来源和财产: /src/main/java/pkg/客户端{A/B}服务。爪哇 /src/main/java/pkg/客户端{A/B}配置。爪哇 /src/main/resources
我需要为搜索API定义Swagger/OpenAPI V3.0文件。我的请求可以指定地理空间坐标(经度和纬度)或(邮政编码和国家代码)或(城市和州和国家代码)。除了这些,我还有几个更强制的属性,比如距离和距离单位。 我知道如何在JSON模式中做到这一点 但我很难用大摇大摆的方式来定义它。OpenAPI3.0允许One of和anyOf构造,但如果我试图在required部分使用它,swagger