草庐IT

DexMaker-Mockito

全部标签

java - 使用 mockito 或 Jmockit 模拟私有(private)静态最终字段

我在我的类(class)中使用privatestaticfinalLOGGER字段,我希望LOGGER.isInfoEnabled()方法返回false。如何使用mockito或jMockit模拟静态final字段我的类(class)是:importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassClass1{privatestaticfinalLoggerLOGGER=LoggerFactory.getLogger(Class1.class);publicbooleandemoMethod(){System.out.

java - 如何验证静态 void 方法是否已使用 power mockito 调用

我正在使用以下内容。Powermock-mockito1.5.12Mockito1.95junit4.11这是我的实用程序类publicvoidInternalUtils{publicstaticvoidsendEmail(Stringfrom,String[]to,Stringmsg,Stringbody){}}这里是被测类的要点:publicclassInternalService{publicvoidprocessOrder(Orderorder){if(order.isSuccessful()){InternalUtils.sendEmail(...);}}}这是测试:@Pre

java - 如何使用 Mockito 验证未使用任何参数组合调用的模拟方法

如何使用Mockito验证根本没有调用模拟方法(使用任何参数组合)?例如,我有一个对象-myObject-它使用第二个模拟对象-myMockedOtherObject-它有一个方法-someMethodOrOther(Stringparameter1,字符串参数2).我想调用myObject.myMethod()并验证someMethodOrOther()doesn't是否被调用-any参数组合。例如:myObject.doSomeStuff();verify(myMockedOtherObject,never()).someMethodOrOther();除非我不能这样做,因为som

java - Mockito - stub 方法时出现 NullpointerException

所以我开始为我们的Java-Spring项目编写测试。我使用的是JUnit和Mockito。据说,当我使用when()...thenReturn()选项时,我可以模拟服务,而无需模拟它们左右。所以我想做的是,设置:when(classIwantToTest.object.get().methodWhichReturnsAList(input))thenReturn(ListcreatedInsideTheTestClass)但是无论我使用哪个when子句,我总是会得到一个NullpointerException,这当然是有道理的,因为输入为空。当我尝试从一个对象模拟另一个方法时:whe

java - 使用 Mockito stub 并执行测试方法

我最近问了几个面向jUnit和Mockito的问题,但我仍然很难掌握它的窍门。这些教程都是针对非常简单的示例,所以我正在努力扩大我的测试用例以适用于我的类(class)。我目前正在尝试为我在web应用程序中的一个代理中使用的方法编写一些测试用例。该方法与代理内部的其他几个方法交互以验证某些对象。我现在只想测试这个方法。这是我尝试做的:像这样创建我的代理的Mockito对象:MyProcessingAgentmockMyAgent=Mockito.mock(MyProcessingAgent.class);使用Mockito.when设置stub(希望是正确的术语),如下所示:Mocki

java - 使用 mockito 模拟使用通配符返回泛型的方法

我使用的是mockito1.9.5。我有以下代码:publicclassClassA{publicListgetMyInterfaces(){returnnull;}publicstaticvoidtestMock(){Listinterfaces=newArrayList();ClassAclassAMock=mock(ClassA.class);when(classAMock.getMyInterfaces()).thenReturn(interfaces);}我得到一个编译错误thenReturn(interfaces)说:"ThemethodthenReturn(List)in

java - Mockito - 如何验证从未调用过模拟

我正在寻找一种使用Mockito验证的方法,即在测试期间与给定的模拟没有任何交互。对于具有验证模式never()的给定方法,很容易实现这一点,但我还没有找到完整模拟的解决方案。我真正想要实现的目标:在测试中验证,没有任何东西打印到控制台。jUnit的总体思路是这样的:privatePrintStreamsystemOut;@BeforepublicvoidsetUp(){//spyonSystem.outsystemOut=spy(System.out);}@AfterpublicvoidtearDown(){verify(systemOut,never());//一个PrintStr

java - Mockito.mock(SomeClass) 和 @Mock 注释有什么区别?

Mockito.mock(ClassclassToMock)和有什么区别?方法和@Mock注解?它们是一样的吗?例如,是这样的:privateTestClasstest=Mockito.mock(TestClass.class);同:@MockprivateTestClasstest; 最佳答案 它们都达到了相同的结果。使用注解(@Mock)通常被认为是“更干净”,因为您不会用看起来都一样的样板赋值来填充代码。请注意,为了使用@Mock注释,您的测试类应使用@RunWith(MockitoJUnitRunner.class)注释或包

java - 使用 Mockito,我如何验证一个方法是用某个参数调用的?

我正在使用Mockito1.9.0。我将如何验证一个方法是否只被调用了一次,并且传递给它的一个字段是否包含某个值?在我的JUnit测试中,我有@BeforepublicvoidsetupMainProg(){//Initializem_orderSvc,m_opportunitySvc,m_myprojectOrgSvc...m_prog=newProcessOrdersWorker(m_orderSvc,m_opportunitySvc,m_myprojectOrgSvc);}//setupMainProg@TestpublicvoidtestItAll()throwsGeneral

java - 使用 PowerMock 和 Mockito 模拟 Logger 和 LoggerFactory

我有以下要模拟的Logger,但要验证日志条目是否被调用,而不是内容。privatestaticLoggerlogger=LoggerFactory.getLogger(GoodbyeController.class);我想模拟用于LoggerFactory.getLogger()的任何类,但我不知道该怎么做。到目前为止,这就是我的最终结果:@BeforepublicvoidperformBeforeEachTest(){PowerMockito.mockStatic(LoggerFactory.class);when(LoggerFactory.getLogger(GoodbyeCo