【发布时间】:2014-01-17 19:44:19
【问题描述】:
试图扩大 Spock 在工作中的吸引力并遇到这个问题。实际上试图为 Groovy 类编写单元测试,但它调用了 Java。静态方法调用私有构造函数。代码如下:
private MyConfigurator(String zkConnectionString){
solrZkClient = new SolrZkClient(zkConnectionString, 30000, 30000,
new OnReconnect() {
@Override
public void command() { . . . }
});
}
“SolrZkClient”来自第三方 (Apache) Java 库。由于它试图连接到 ZooKeeper,我想为这个单元测试模拟它(而不是在内部运行一个作为单元测试的一部分)。
我的测试毫无困难地到达了构造函数,但我无法通过那个 ctor:
def 'my test'() {
when:
MyConfigurator.staticMethodName('hostName:2181')
then:
// assertions
}
有没有办法做到这一点?
【问题讨论】:
标签: java unit-testing groovy spock