我有以下课程:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/com/home/app/Home-ctx.xml"})
public class LoginDetailsTest {
public static void main(String[] args) {
new LoginDetailsTest().testLoginDetails();
}
@Inject
@Named(HomeConstants.loginDetailsService)
private LoginDetailsService loginDetailsService;
private List<UserLogin> loginDetails;
@Test
public void testLoginDetails() {
UserLogin login = new UserLogin();
login.setLoginName("test");
login.setLoginPassword("test123");
loginDetails = loginDetailsService.loginDetails(login);
for (UserLogin loginDet : loginDetails) {
System.out.println(loginDet.getLoginName());
System.out.println(loginDet.getLoginPassword());
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在代码上运行junit test,那么它会给出预期的结果.如果我作为Java应用程序运行,即main方法,则它为loginDetailsService .loginDetails(login)提供空指针异常 .怎么可以作为主要方法运行没有错误?
当你"运行代码作为junit test"来引导你的应用程序上下文和依赖注入时,你仍然需要做JUnit所做的事情:
public static void main(String[] args) {
org.junit.runner.JUnitCore.run(LoginDetailsTest.class);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2788 次 |
| 最近记录: |