java和actionscript类没有被嘲笑
Posted
技术标签:
【中文标题】java和actionscript类没有被嘲笑【英文标题】:java and actionscript class is not getting mocked 【发布时间】:2018-12-24 23:59:01 【问题描述】:我正在尝试为 java 控制器编写 moct 测试。当我将它作为一个 junit 运行时它工作正常,但是当我在构建中运行时它会失败。
这是我的测试课。
@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;
我的控制器类扩展到某个抽象类。
这是我的 myBaseClass
@Controller
public abstract class myBaseClass extends myActionScript
//Some Code and some methods
如果您需要其他任何东西,请告诉我。
【问题讨论】:
【参考方案1】:尝试使用 @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 扩展 myBaseClass。我按照你的建议做了。在 Maven 构建中仍然遇到相同的错误。运行 com.jpmc.wss.adr.controller.ReportsControllerTest log4j:WARN 找不到记录器的附加程序(com.frmwrk.geek.bootstrap.BootstrapServicesInitializer)。 log4j:WARN 请正确初始化log4j系统。 我问了另一个问题,我在哪里发布了我的完整日志。请检查这个问题。 ***.com/questions/51381165/…以上是关于java和actionscript类没有被嘲笑的主要内容,如果未能解决你的问题,请参考以下文章
绝了,被领导和同事嘲笑了,2月无情被辞,想给测试人提个醒...
尴尬...我被同事和领导嘲笑了,因为不会Python接口自动化?