草庐IT

unit-testing

全部标签

java - 如何模拟难以实例化的类 (javax.mail.Message)?

我想在我的下一个项目中使用junit测试,但我不确定我应该使用几个模拟包中的哪一个。我还阅读了一些教程,但没有找到如何解决下面概述的特定问题的信息。也许该功能在我checkout的软件包中不可用。这就是问题所在:我想编写一个遍历List的电子邮件过滤器类并按主题、日期、发件人、收件人等过滤电子邮件。要测试的代码如下所示:publicListdoFilter(ListmessageList){ListnewList=newArrayList(messageList.size());try{for(Messagemessage:messageList){if(start!=null){Da

java - 为什么 Mockito @InjectMocks 可能是要避免的事情?

为什么@InjectMocks可能是这种测试要避免的事情。@RunWith(MockitoJUnitRunner.class)publicclassMyClassTest{@MockprivateBarbar;@InjectMocksprivateFoofoo;//createdbyMockito@TestpublicvoidshouldCallMethod(){//whenfoo.myMethod();//then...}}Foo.javapublicclassFoo{privatefinalBarbar;publicFoo(Barbar){this.bar=bar;}...我在对这

java - JMockit - 期望与 MockUp<T> 为什么一个有效而另一个无效?

我正在尝试(仍然)学习JMockit的来龙去脉。这是另一个我不明白的JMockit怪癖示例。使用NonStrictExpectations运行测试效果很好。但是,使用MockUp运行不会。我不确定为什么。有任何想法吗?我正在运行JMockit1.5。测试方法:privateListgetFooList(ListfooStatements){ListFooList=newArrayList();for(FooStatementat:fooStatements){ListaList=at.getFoos();FooList.addAll(aList);}returnFooList;}成功的

java - 使用 Powermock 模拟类的构造函数时出现 ExceptionInInitializerError。如何解决?

这是我的案例。我有一个AbstractController类。它有一个子类Controller。在AbstractController的方法之一中,实例化了一个新的ApplicationLock。我想在为Controller编写ut时模拟ApplicationLock。我写了一个如下的测试用例。@testpublicvoidtestMethod(){ApplicationLockmockLock=PowerMockito.mock(ApplicationLock.class);PowerMockito.when(mockLock.tryObtain()).thenReturn(true

java - 使用 MockMultipartHttpServletRequest 进行单元测试(在 ItemInputStream.makeAvailable 中抛出 NullPointerException)

我编写了一个转换器类,它采用HttpServletRequest并将其转换为另一种类型,该类型包含指向来自servlet请求的InputStream的指针。(这个想法是从请求处理中抽象传入的传输协议(protocol),因此我也可以从FTP编写一个类似的转换器,例如。)现在我正在尝试为此编写单元测试,但遇到了问题。我已经设法找出正确的样板来创建有效的多部分HTTP请求(使用Spring类MockMultipartHttpServletRequest和MockMultipartFile),但现在我在initialize()中得到一个NullPointerException。我的方法Upl

java - 如何在不使用 "add"等的情况下在 DAO 中测试 "find"?

在下面的代码中,问题是我无法在不使用dao.list().size()的情况下测试dao.add(),反之亦然。这种做法是正常的还是不正确的?如果不正确,如何改进?publicclassItemDaoTest{//daototest@AutowiredprivateItemDaodao;@TestpublicvoidtestAdd(){//issue->testingADDbutusingLISTintoldSize=dao.list().size();dao.add(newItem("stuff"));assertTrue(oldSizetestingFINDbutusingADDI

java - @ReplaceWithMock 与 @Qualifier

我正在使用springockito-annotations1.0.9进行集成测试。我有以下Controller:@AutowiredpublicController(@Qualifier("passwordService")PasswordServicepasswordService,@Qualifier("validator")Validatorvalidator,@Qualifier("reportService")ReportServicereportService,DateCalculatordateCalculator,Accessoraccessor){this.passw

java - 在类 Test 中实例化类 Test 的成员是递归吗?

这是递归吗?publicclassTest{Testtest=newTest();publicstaticvoidmain(String[]args){newTest();}}关于instanceinitalizer的版本呢??publicclassTest{{Testtest=newTest();}publicstaticvoidmain(String[]args){newTest();}}我在问,因为我更新了myoldanswer,它展示了如何在没有递归的情况下生成StackOverflowError,但现在我不能100%确定上面的代码是否是递归的。 最

java - Spring Boot 1.4.2 @WebMvcTest 返回状态 404

我正在使用SpringBoot1.4.2和Jersey(jax-rs)创建一个RESTController。我遵循了有关如何测试RESTController的文档(TestingtheSpringMVCslice)。但是我的测试返回404,我似乎无法找出原因。这里的Controller被简化了,但问题依然存在。我的问题是如何在运行测试时获取200状态?HealthController.java@Controller@Path("/health")publicclassHealthController{@GET@Produces(MediaType.APPLICATION_JSON)pu

java - 如何使用 JUnit 在 Spring 中获取数据库连接?

我正在尝试使用服务和方法的正确逻辑来测试数据库提供的正确信息。在这个简单的示例中,我仅使用语句assertEquals来比较为roleService提供的id,但我仍然遇到错误。我有以下代码:[更新]测试方法:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(value={"classpath:applicationContext.xml"})@Transactional@WebAppConfiguration@ComponentScan(basePackages={"com.project.surveyengin