Ich weiß, das ist normalerweise eine schlechte Übung, aber in meinem Fall ist es notwendig.
Ich habe einen Fall, in dem ein Enum eine Klasse hält, um Informationen zu erhalten. So dass Enum eine Instanz dieses Kalbs in seinem Konstruktor erstellt.
%Vor% MyImpl.java
ist nur eine Klasse mit einer einzigen Methode, die einen String zurückgibt.
Jetzt endlich der Komponententest:
%Vor%Die Ausgabe ist:
%Vor%Aber sollte 3 mal funktionieren!
Ich habe den fehlerhaften Teil gefunden.
Ich habe mich geändert
%Vor%bis
%Vor% Jetzt funktioniert das Spotten. Aber ich muss sagen, dass, wie Jon Skeet ausgedruckt hat, das Enum nicht überall diese verspottete Mitgliederinstanz hat. In einem anderen Unit-Test wird also MyEnum.CONSTANT.sayHello();
erneut it works
anstelle von Hello!
ausgeben.
Tags und Links java enumeration unit-testing mocking mockito