我有一个接口RestService
和一个RestServiceImpl
类,如下所示:
// RestService:
public interface RestService {
public void printMessage();
}
// RestServiceImpl:
@Service
public class RestServiceImpl implements RestService {
public RestServiceImpl() {
}
public void printMessage() {
System.out.println("This is a test message.");
}
}
测试printMessage()方法时,出现NullPointerException。我很确定自己可以正确地自动接线,并且已经在类中添加了适当的注释。不知道为什么会这样。
@SpringBootTest
public class RestServiceTest {
@Autowired
RestService restService;
@Test
public void someTest() {
restService.printMessage(); //Thows NullPointerException
}
}
我在这里想念什么?
最佳答案
首先,确保插入整个Spring基础结构,这是JUnit框架和spring之间的“桥梁”:
测试中没有@RunWith(SpringRunner.class)
:
@RunWith(SpringRunner.class)
@SpringBootTest
public class RestServiceTest {
@Autowired
RestService restService;
@Test
public void someTest() {
restService.printMessage(); //Thows NullPointerException
}
}