autowired Objekte in ganz genannte Methode zu verwenden, ich habe die folgende Klasse in meiner Feder-Boot-AnwendungFrühlings-Boot, wie
public class ClassA {
@Autowired
PropertiesClass propertiesClass;
public Integer getMeSomeValue(Integer someParameter) {
// uses some methods of propertiesClass
}
}
Hier propertiesClass tatsächlich enthält Methoden, die Eigenschaftswerte von application.properties Datei liest. Ich möchte die getMeSomeValue-Methode testen. Meine Einheit Testklasse wird unter
gegeben@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApplication.class)
@WebIntegrationTest
public class ClassATest {
@Test
public void testGetMeSomeValue() {
ClassA classA = new ClassA();
Assert.assertSame("Received expected response", classA.getMeSomeValue(6025), 2345);
}
}
Wenn ich das Gerät Test ausführen, ich Null-Zeiger-Ausnahme an dem Punkt, wo Methoden der propertiesClass innerhalb getMeSomeValue Methode aufgerufen. Gibt es eine Möglichkeit Spring-Boot zu benutzen, damit @Autowired funktioniert?
Wenn Sie manuell 'ClassA' über' new' instanziiert hat die Feder IoC-Container (ca. Kontext) keine Möglichkeit, Ihre 'PropertiesClass' Bohne zu injizieren. Ziehen Sie in Betracht, eine 'ClassA'-Bean in Ihrer Testkonfiguration zu erstellen? – CollinD