坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Tag Archives: spring

Testing and Mocking in spring2.5: Static class、maven site、cobertura

spring 2.5 与 junit 4.4 Spring 2.5.x不能用JUnit 4.5+.如果把使用了spring-test 2.5 的testcase升级到 junit 4.5会得到NoClassDefFoundError: org.apache.maven.surefire.booter.SurefireExecutionException: org/junit/Assume$AssumptionViolatedException; nested exception is java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException 这是spring-test 2.5.x的一个bug. 其与JUnit 4.5不一致. 只能使用4.0-4.4. 或者就是自己打patch. http://jira.springframework.org/browse/SPR-5145 EasyMock 与 static Class EasyMock未提到是否支持static methods.功能类经常是static的,是因为没有上下文环境依赖,但如果一定要mock他们,可以选择powerMock. PowerMock、static Class、junit、spring PowerMock 需要你添加 '@RunWith(PowerMock

Continue reading

Posted in java | Tagged , | Leave a comment

spring配合easymock搞定不依赖环境的测试用例

在写java的test case的时候,往往有太多依赖环境的情况,WEB项目更甚,如果每次测试都要准备数据库或者其他环境,相当麻烦,换一个人就入手困难,在这种情况下,mock就是最好的选择。 Mock 对象能够模拟领域对象的部分行为,并且能够检验运行结果是否和预期的一致。领域类将通过与 Mock 对象的交互,来获得一个独立的测试环境。 入门 //准备一个mock IMocksControl mocksControl = EasyMock.createStrictControl(); //创建录像 aDAO = mocksControl.createMock(AnalyzeResultDAO.class); //录制 输入 期望输出 EasyMock.expect(aDAO.getARByLimit(type)).andReturn(ar); //重放 表示录制结束 EasyMock.replay(aDAO); //调用相关的类 验证结果是否正常 Assert.assertNotNull(analyzeResultBiz.getLastAR(type)); //验证是否使用了上面录制的DAO EasyMock.verify(aDAO); 提高 * 配合spring如何做? int type = 1; AnalyzeResult ar = new AnalyzeResult(); …

Continue reading

Posted in java | Tagged , | 2 Comments