Ich habe eine statische Methode in einer Klasse. Die Methode ist nicht endgültig. Ich bekomme immer ein when() erfordert ein Argument, das ein 'Methodenaufruf bei einem Mock'-Fehler sein muss. Unten ist mein Code.Mock statische Methoden
mockStatic(HomefeedExperimentUtils.class);
when(HomefeedExperimentUtils.getGroupAndActivateExperiment(
"link_stock_signal_filter_exp")).thenReturn(
"treatment");
Ich habe auch versucht:
HomefeedExperimentUtils mock = org.mockito.Mockito.mock(HomefeedExperimentUtils.class);
when(mock.getGroupAndActivateExperiment(
"link_stock_signal_filter_exp")).thenReturn(
"treatment");
Jede mögliche Hilfe bei geschätzt.
Danke!
nicht Mock Statik tun. Testen Sie öffentliches Verhalten, und wenn die Statik öffentlich ist, testen Sie sie direkt. – chrylis
Verwenden Sie nicht "statische" Methoden an erster Stelle. Sie machen Ihren Code unflexibel und schwer wiederzuverwenden (wie Ihr Problem einen Mock stattdessen zeigt). Und nein: es gibt keine Regel, dass Hilfsklassen * statische Methoden haben müssen ... –
http://idownvotedbecau.se/noresearch/ – GhostCat