一旦我添加RunWith
注释,即@RunWith(PowerMockRunner.class)
,Spring Autowire就不再有用了!
class B {
@Autowire
SessionFactory session;
}
@RunWith(PowerMockRunner.class)
@PrepareForTest{SomeClass.class}
class Testing {
@Test
methodA(){
//mehod
}
@Test
methodD(){
}
}
现在,方法A调用了B类,但由于RunWith(PowerMockRunner)
注释,自动装配不起作用。任何帮助将不胜感激!
答案 0 :(得分:9)
2016年,您可以使用PowerMockito的转轮代表,有效地使用两名参赛者:
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringJUnit4ClassRunner.class)
此处有更多详情:https://github.com/jayway/powermock/wiki/JUnit_Delegating_Runner
答案 1 :(得分:1)
春天不是魔术(即使它有时似乎)。你的代码中没有任何地方让你有机会启动应用程序上下文并完成自动连接bean的工作。您需要自己启动上下文或切换测试以使用@RunWith(SpringJUnit4ClassRunner.class)
。不幸的是,JUnit一次只支持一个运行器,因此您需要停止使用PowerMockRunner。