Mam kilka metod statycznego wykorzystania w moim projekcie, niektóre z nich po prostu przekazać lub rzucić wyjątek. Istnieje wiele przykładów na temat tego, jak wyśmiać statyczną metodę, która ma typ zwrotu inny niż nieważny. Ale jak wyśmiać statyczną metodę, która zwraca pustkę, aby "doNothing()
"?Jak wyśmiać statyczną metodę, która zwraca nieważne z PowerMock?
Non-void wersja używa tych linii kodów:
@PrepareForTest(StaticResource.class)
...
PowerMockito.mockStatic(StaticResource.class);
...
Mockito.when(StaticResource.getResource("string")).thenReturn("string");
Jednak jeżeli są stosowane do StaticResources
zwracającej void
, kompilacja będzie narzekać, że when(T)
nie ma zastosowania dla nieważnych ...
Wszelkie pomysły?
Obejście prawdopodobnie spowodowałoby, że wszystkie statyczne metody zwróciłyby pewną liczbę Boolean
, ale nie lubię takich rozwiązań.
niestety, że nie będzie działać jak w przypadku() przyjmuje tylko zmienną i StaticResource jest typem. ('StaticResource nie może być rozdzielone na zmienną') – Pete
O tak, przepraszam, masz rację, mój kod jest zły, jestem przyzwyczajony do niesztampowych makiet. W każdym razie zaktualizowałem swój ansswer, aby odzwierciedlić poprawną składnię. – Brice
Dzięki! Czy posiadanie statycznych metod pomocniczych, które nie mają zależności, jest złym pomysłem? Oczywiście mógłbym tylko wstrzyknąć i zgłosić obiekt, który wykonuje pracę, ale wydaje się, że ma sens umieszczanie pracowników, którzy nie mają zależności w statycznym obiekcie, dla oznaczenia ich niezależności .. – Pete