草庐IT

DexMaker-Mockito

全部标签

java - 如何使用 mockito 检查是否没有抛出异常?

我有一个简单的Java方法,我想检查它是否不会抛出任何异常。我已经模拟了参数等,但是我不确定如何使用Mockito来测试该方法没有抛出异常?当前测试代码:@TestpublicvoidtestGetBalanceForPerson(){//creatingmockpersonPersonperson1=mock(Person.class);when(person1.getId()).thenReturn("mockedId");//callingmethodundertestmyClass.getBalanceForPerson(person1);//Howtocheckthatane

单元测试之- mock工具mockito

 常用的mock工具mockito在编写单元测试时,需要mock依赖的对象,减少依赖对象对测试的影响,Mocktio是常用的mock工具之一,那么mockito提供了哪些功能呢?Mock对象的创建和配置:Mockito可以通过简单的语法创建mock对象,并允许你配置mock对象的行为。Mock对象的验证:Mockito提供了一系列的验证方法,可以帮助你验证mock对象的方法是否被正确调用,以及调用次数、参数等信息是否符合预期。Stubbing(桩):Mockito允许你为mock对象的方法设置返回值或者抛出异常,这个过程被称为Stubbing(桩)。Spy(间谍):Mockito允许你创建一个

java - 使用 Mockito 模拟接口(interface)

有人可以帮我解决下面的Mock对象吗?我想为ServiceImpl类编写一个模拟测试用例。我想模拟OrderIF接口(interface):publicinterfaceOrderIF{ListordersFor(Stringtype);}服务的实现是:publicclassServiceImplimplementsService{privateListorders;privateOrderIForderif;//thisis3rdpartyinterfacepublicintgetval(Stringtype){//somecode//thisreturnsalistofobject

java - 使用 Mockito 匹配对象数组

我正在尝试为采用Request对象数组的方法设置模拟:client.batchCall(Request[])我试过这两种变体:when(clientMock.batchCall(any(Request[].class))).thenReturn(result);...verify(clientMock).batchCall(any(Request[].class));和when(clientMock.batchCall((Request[])anyObject())).thenReturn(result);...verify(clientMock).batchCall((Request

java - PowerMockito(与 Mockito)因 ExceptionInInitializerError 而失败

我们使用Powermockito和Mockito来模拟一些静态类。似乎每次都会抛出java.lang.ExceptionInInitializerError。你能帮我确定问题出在哪里吗?被测Java类packagecom.myproject.myproduct.search.domain;importorg.elasticsearch.index.query.MultiMatchQueryBuilder;importorg.elasticsearch.index.query.QueryBuilders;publicclassMyQueryBuilder{publicMultiMatch

java - 如何验证是否使用 Mockito 调用了两种方法中的一种?

假设我有一个有两个方法的类,我不关心哪个叫...publicclassFoo{publicStringgetProperty(Stringkey){returngetProperty(key,null);}publicStringgetProperty(Stringkey,StringdefaultValue){//...}}以下两个(来自另一个类,仍在我的申请中)应该通过我的测试:publicvoidthisShouldPass(Stringkey){//...StringtheValue=foo.getProperty(key,"blah");//...}publicvoidthi

java - Mockito - thenReturn 总是返回空对象

我正在尝试实现Mockito来测试一个特定的方法,但是.thenReturn(...)似乎总是返回一个空对象而不是我想要的:剪切:publicclassTestClassFacade{//injectedviaSpringprivateInterfaceBPbpService;publicvoidsetBpService(InterfaceBPbpService){this.bpService=bpService;}publicTestVOgetTestData(StringtestString)throwsException{BPRequestVObpRequestVO=newBPR

java - Mockito 能否根据方法调用时的值来验证参数?

我有一个Foo类是SUT和Bar类,这是它的合作者。Foo电话run(Listvalues)在Bar上以“expectedList”作为参数。然后,Foo将向此List添加更多元素这样它的状态就会与调用时的状态不同run().这是我的测试用例。@TestpublicvoidtestFoo(){Barcollaborator=spy(newBar());Foosut=newFoo(collaborator);verify(collaborator).run(expectedList);}请注意,协作者实际上是一个spy对象而不是模拟对象。此测试用例将失败,因为即使run()使用等于exp

java - 用 Mockito 验证一个函数被调用的次数有什么意义?

在我的理解中,代码测试就是测试结果是否正确,就像计算器一样,我需要写一个测试用例来验证1+1的结果是否为2。但是我看过很多关于验证方法调用次数的测试用例。我对此很困惑。最好的例子是我刚刚在SpringinAction中看到的:publicclassBraveKnightimplementsKnight{privateQuestquest;publicBraveKnight(Questquest){this.quest=quest;}publicvoidembarkOnQuest(){quest.embark();}}publicclassBraveKnightTest{@Testpub

java - 每次和任何测试用例初始化 mockito 时出错

几乎花了一整天的时间来解决这个问题。不管我使用什么样的测试/类/接口(interface),我都会得到几乎相同的异常。这是堆栈错误:java.lang.AbstractMethodError:org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.isTypeMockable(Ljava/lang/Class;)Lorg/mockito/plugins/MockMaker$TypeMockability;atorg.mockito.internal.util.MockUtil.typeMockabilityOf(MockU