Son sınıf olan bir yardımcı program sınıfım var. Orada LOGGER enjekte etmek için enjeksiyon kullandım.Statik özel son değişkeni Powermock kullanarak mı kullanıyorsunuz?
public final class Utilities {
@Inject
private static Logger.ALogger LOGGER;
private Utilities() {
//this is the default constructor. so there is no implementation
}
public static String convertToURl(string input){
try{
//do some job
}catch(IllegalArgumentException ex){
LOGGER.error("Invalid Format", ex);
}
}
}
Ben aksi takdirde boş işaretçi özel durum oluşturur sahte KAYIT bölümüne sahip bu yöntem için birim test yazarken. Bu sınıfın örneğini oluşturmadan bu LOGGER ile nasıl dalga geçebilirim? Değişkeni beyazlatmayı denedim. Ama sadece örneklerle çalışır?
mu [statik alana enjeksiyon] (http://stackoverflow.com/questions/19225179/is-it-possible-to-inject-a-cdi-bean-into-a-static-variable -in-java-ee-6) sizin için çalışıyor? Varsayılan olarak – fracz
yönergesi, tasarım gereği statik enjeksiyona izin vermez. Ama biz bunu isteyebiliriz (http://stackoverflow.com/questions/28513147/guice-injection-in-static-variable) – Burusothman
Bunu bilmiyordum. Bunu ben de kullanmadim, ama statik alan enjekte edebilirse, belki de birim testinde logger alayi enjekte etmek için kullanabilir miyim? – fracz