Spring BootでJUnitを使った簡単なテストを試したいと思っていますが、下記ソースを実行すると、@Autowired
でのインジェクションに失敗しNullPointerException
が発生します。
@Autowired
を使用せずに
TestLogic testLogic = new TestLogic();
Hero testHero = testLogic.testMesod();
assertEquals(testHero.getHP(), "12");
とすれば正常に動きますが@Autowired
を使用した形で処理がうまくいくようにもしたいです。
どう修正すればよろしいでしょうか。
public class SampleTest {
@Autowired
TestLogic testLogic;
public static void main(String[] args) {
JUnitCore.main(SampleTest.class.getName());
}
@Test
public void testOne() {
Hero testHero = testLogic.testMesod();
assertEquals(testHero.getHP(), "12");
}
public class Hero {
private String HP;
private String MP;
private String atackPower;
public String getHP() {
return HP;
}
public void setHP(String hP) {
HP = hP;
}
public String getMP() {
return MP;
}
public void setMP(String mP) {
MP = mP;
}
public String getAtackPower() {
return atackPower;
}
public void setAtackPower(String atackPower) {
this.atackPower = atackPower;
}
@Service
public class TestLogic {
public Hero testMesod(){
Hero hero = new Hero();
hero.setHP("12");
return hero;
}
}