Ich habe eine jUnit-Klasse, die eine Klasse erweitert, deren geschützte Methoden ich testen muss.Instanziieren jUnit Test Klasse
@RunWith(...)
@Configuration(...)
public class testA extends A{
@Test
public void testProtectedMethod1(){
..
}
}
Nun muss die Klasse A eine bestimmte Variable (ein DAO), während Instanziierung eingestellt werden. Das Ausführen dieses Codes löst IllegalArgumentException aus - DAO muss bereitgestellt werden.
Dinge, die ich habe versucht:
1) manuell die Verwendung von DAO @Before Einstellung - nicht
funktioniert hat2) Angeben einer Bohne für die Testklasse mit DAO-Eigenschaft festgelegt - hat nicht funktioniert.
Wie kann ich diese jUnit-Klasse mit einer geerbten Eigenschaft instanziieren?
Wie erhält die Klasse A das DAO? Ist es ein Konstruktorparameter? –
Klasse A erweitert eine andere Klasse B, die diese DAO-Variable hat. Klasse A hat keinen Konstruktor. Wir setzen das DAO in der Bean-Definition der Klasse A. mit p: DAO ... – user2780757
Warum markieren Sie Ihre DAO-Klasse nicht als Spring-Bean, und verwenden Sie '@ Autowired', um es dorthin zu injizieren, wo Sie es brauchen? –