Po przeczytaniu: https://code.google.com/p/powermock/wiki/BypassEncapsulation zdałem sobie sprawę, nie rozumiem.PowerMock dostęp prywatnych członków
Zobacz w tym przykładzie:
public class Bar{
private Foo foo;
public void initFoo(){
foo = new Foo();
}
}
Jak mogę uzyskać dostęp do prywatnego członek foo
za pomocą PowerMock (na przykład w celu sprawdzenia, foo
nie jest null)?
Uwaga:
Co nie chcę modyfikuje kod z dodatkowych get
metod.
Edit:
zdałem sobie sprawę, że brakowało mi przykładowy blok kodu na stronie związanej z roztworem.
Rozwiązanie:
Whitebox.getInternalState(bar, "foo");
Polecam uważnie przed napisaniem tego typu testu, argumentami przeciwko sprawdzaniu wartości zmiennej prywatnej podsumowanej tutaj: https://stackoverflow.com/questions/2981476/does-jmockit-have-any-drawbacks-at- all/7499979 # 7499979 – codebox
Prawdziwy test jest nieco bardziej złożony i wymaga hibernacji, sesji i sesji, próbuję sprawdzić nasz interfejs dbInterface bez konieczności inicjowania kompletnych rzeczy hibernacji. W większości metod modyfikujemy stan obiektów i nie mamy rzeczywistej funkcjonalności wejścia/wyjścia. – Gobliins