Może Spock Mock konstruktora Java
Próbuję poszerzyć atrakcyjność Spocka w pracy i poruszyć ten problem. Właściwie próbuję napisać testy jednostkowe dla klasy Groovy, ale takie, które wywołują Java. Metoda statyczna wywołuje prywatny konstruktor. Kod wygląda tak:
private MyConfigurator(String zkConnectionString){
solrZkClient = new SolrZkClient(zkConnectionString, 30000, 30000,
new OnReconnect() {
@Override
public void command() { . . . }
});
}
„SolrZkClient” pochodzi z biblioteki Java innej firmy (Apache). Ponieważ próbuje połączyć się z ZooKeeper, chciałbym wykpić z tego testu jednostkowego (zamiast uruchamiać go wewnętrznie w ramach testu jednostkowego).
Mój test dociera do konstruktora bez trudności, ale nie mogę ominąć tego cora:
def 'my test'() {
when:
MyConfigurator.staticMethodName('hostName:2181')
then:
// assertions
}
Czy i tak to zrobić?