草庐IT

mocking-stubbing

全部标签

java - 从 Binder stub 实现中捕获了一个 RuntimeException

我遇到了这个RuntimeException并且很难调试它:W/Binder﹕CaughtaRuntimeExceptionfromthebinderstubimplementation.com.google.android.gms.common.internal.safeparcel.zza$zza:Expectedobjectheader.Got0x1Parcel:pos=136size=284atcom.google.android.gms.common.internal.safeparcel.zza.zzJ(UnknownSource)atcom.google.android.

java - 调用未 stub 的方法时抛出 RuntimeException

我正在使用Mockito。我想在调用未stub的方法时抛出RuntimeException。有什么办法吗? 最佳答案 您可以为模拟设置默认答案。所有未stub的方法都将使用此默认答案。publicvoidtestUnstubbedException(){//CreateamockwithallmethodsthrowingaRuntimeExceptionbydefaultSomeClasssomeClass=mock(SomeClass.class,newRuntimeExceptionAnswer());doReturn(1).

java - 尝试 stub 包保护方法时,Mockito 模拟调用真实方法实现

我正在尝试使用Mockito1.8.5对方法进行stub,但这样做会调用引发异常的真实方法实现(使用""作为参数值)。packagebackground.internal;//locatedintrunk/tests/java/background/internalpublicclassMoveStepTest{@TestpublicvoidtestMoveUpdate(){finalStringreturnValue="value";finalFileAttachmentContainerfile=mock(FileAttachmentContainer.class);doRetur

java - 多个级别的@Mock 和@InjectMocks

所以我知道在Mockito中,@InjectMocks会通过@Mock的注解注入(inject)任何它可以注入(inject)的东西,但是如何处理这种情况呢?@MockprivateMockObject1mockObject1;@MockprivateMockObject2mockObject2;@InjectMocksprivateSystemUnderTestsystemUnderTest=newSystemUnderTest();假设MockObject2有一个MockObject1类型的属性,而SystemUnderTest有一个MockObject2类型的属性。我想将mock

java - stub 和模拟时的区别

我是mockito的新手。需要知道stub和何时的区别1.stub(cpproxy.getBinList()).toReturn(gettestbins());2.when(cpproxy.getBinList()).thenReturn(gettestbins());这两者有什么区别? 最佳答案 实际上它们在技术上是相同的。最初创建Mockito时,我们谈论的是stub,因此词汇表遵循了这个想法。后来人们认为用交互而不是技术术语来思考更好,所以词汇遵循when...then...风格.词汇的这种变化有助于人们思考对象之间的交互、消

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.mock(SomeClass) 和 @Mock 注释有什么区别?

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

java - mock 单例类

我最近读到,使类单例无法模拟类的对象,这使得测试其客户端变得困难。我无法立即理解根本原因。有人可以解释一下是什么使得无法模拟单例类吗?另外,制作单例类是否还有其他问题? 最佳答案 当然,我可以写类似不要使用单例,它们是邪恶的,使用Guice/Spring/whatever但首先,这不会回答你的问题,其次,你有时必须处理单例,例如在使用遗留代码时。所以,我们不要讨论单例的好坏(还有一个question),让我们看看在测试期间如何处理它们。首先,我们来看一个常见的单例实现:publicclassSingleton{privateSing

node.js - 用 Jest mock Mongoose 模型

我正在尝试使用jest模拟Mongoose模型,但出现Cannotcreateproperty'constructor'onnumber'1'错误。我能够通过使用下面显示的2个文件创建项目来重现该问题。有没有办法用jest模拟Mongoose模型?./model.jsconstmongoose=require('mongoose')constSchema=mongoose.Schemaconstschema=newSchema({name:String})module.exports=mongoose.model('Test',schema)./model.test.jsjest.mo