Làm thế nào tôi có thể giả lập một enum cho mục đích thử nghiệm bằng cách sử dụng Mockito? Với mẫu này cho enum:Giả lập một enum sử dụng Mockito trong Java
public enum TestEnum {
YES,
NO
}
và điều này đối với phương pháp sử dụng enum:
public static boolean WorkTheEnum(TestEnum theEnum) {
switch (theEnum) {
case YES:
return true;
case NO:
return false;
default:
// throws an exception here
}
}
làm thế nào tôi có thể thử các enum để đạt được chi nhánh mặc định của vòng lặp chuyển đổi? This answer nói rằng Mockito không thể giả lập enums nhưng câu trả lời cũng đã được cung cấp hơn một năm trước đây. Tôi có thể giả lập một enum trong khi đó hoặc có tôi để cho các chi nhánh ở lại chưa được kiểm tra? Không thể sử dụng các khung Mocking khác.
Có nhiều cách để làm điều này: [Hacking Enums và sửa đổi "cuối cùng tĩnh" Fields] (http://www.javaspecialists.eu/archive/Issue161.html) – Jesper
Enum giống như lớp tĩnh do đó bạn có thể ' t moke chúng với mokito.Trong mẫu của bạn, mặc định là không thể truy cập, vì vậy bạn không thể kiểm tra nó. –
Tại sao muốn thử nghiệm một con đường không thể truy cập? – Manu