java和actionscript类没有被模仿
我正在尝试为java控制器编写moct测试。当我作为junit运行它时,它工作得很好,但当我在构建中运行时,它会失败 这是我的测试课java和actionscript类没有被模仿,java,testing,actionscript,mockito,powermock,Java,Testing,Actionscript,Mockito,Powermock,我正在尝试为java控制器编写moct测试。当我作为junit运行它时,它工作得很好,但当我在构建中运行时,它会失败 这是我的测试课 @WebAppConfiguration @RunWith(PowerMockRunner.class) public class myTestClass { private MockMvc mockMvc; @Mock MyActionScript myActionScript; // It is failing here
@WebAppConfiguration
@RunWith(PowerMockRunner.class)
public class myTestClass {
private MockMvc mockMvc;
@Mock
MyActionScript myActionScript; // It is failing here
@Mock
MyBaseClass myBaseClass; // It is failing here
@InjectMocks
MyControllerClass myControllerClass;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(MyControllerClass).build();
}
@Test
@PrepareForTest({TestClass.class})
public void testmyMethod()throws Throwable{
//SOme code
}
}
这里的问题是,只要我试图模拟我的actionscript类或myBaseClass,它就会失败
这是我的控制器类
@Controller
public class ReportsController extends BaseController {
@RequestMapping(value = "/someurl", method = RequestMethod.POST, consumes = "application/json")
public @ResponseBody somePojo methodList(@RequestBody somePojo requestObj) throws Exception {
somePojo response = (somePojo) this.execute(requestObj,SOME_CONSTANT);
return response;
}
}
我的控制器类扩展到某个抽象类
这是我的基础课
@Controller
public abstract class myBaseClass extends myActionScript {
//Some Code and some methods
}
如果您还需要什么,请告诉我。尝试使用@RunWith(MockitoJUnitRunner.class)
和@InjectMocks
和@Mock
注释
您是否在MyControllerClass中使用MyActionScript和MyBaseClass?
如果是,请尝试以下操作:
@WebAppConfiguration
@RunWith(MockitoJUnitRunner.class)
public class myTestClass {
private MockMvc mockMvc;
@Mock
MyActionScript myActionScript; // It is failing here
@Mock
MyBaseClass myBaseClass; // It is failing here
@InjectMocks
MyControllerClass myControllerClass;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(MyControllerClass).build();
}
@Test
@PrepareForTest({TestClass.class})
public void testmyMethod()throws Throwable{
//SOme code
}
}
谢谢你的回答。是的,我正在从actionScript扩展我的基类。我照你的建议做了。在maven构建中仍然会遇到相同的错误。正在运行com.jpmc.wss.adr.controller.reportsControllerTestLog4j:警告找不到记录器的附加程序(com.frmwrk.geek.bootstrap.BootstrapServicesInitializer)。log4j:WARN请正确初始化log4j系统。我问了另一个问题,我在哪里发布了完整的日志。请检查这个问题。