草庐IT

mocking-stubbing

全部标签

php - Codeception\Util\Stub 方法::exactly 和::once 不起作用

我正在使用Codeception\Util\Stub创建单元测试。而且我想确保我的方法调用了几次。为此,我使用“完全”方法。例子:use\UnitTester;use\Codeception\Util\StubasStubUtil;classsomeCest{publicfunctiontestMyTest(UnitTester$I){$stub=StubUtil::makeEmpty('myClass',['myMethod'=>StubUtil::exactly(2,function(){return'returnValue';})]);$stub->myMethod();}}如您

php - mock 没有匹配的关闭处理程序

我不明白为什么我会在这次测试中遇到这个错误。我的测试似乎与其余代码完全匹配。我忽略了什么?在我的测试中我有:$passwordBroker=m::mock('Illuminate\Auth\Reminders\PasswordBroker');$passwordBroker->shouldReceive('reset')->once()->with($this->resetAttributes,m::on(function(\Closure$closure){$this->entity->shouldReceive('setAttribute')->once()->with('pass

java - 单元测试时出现 "XmlPullParserFactory not mocked"问题

我正在进行单元测试,其中包括使用XStream解析器解析数据。我使用Mockito模拟上下文。但是测试用例失败并显示错误日志:java.lang.RuntimeException:MethodnewInstanceinorg.xmlpull.v1.XmlPullParserFactorynotmocked.Seehttp://g.co/androidstudio/not-mockedfordetails.atorg.xmlpull.v1.XmlPullParserFactory.newInstance(XmlPullParserFactory.java)atcom.thoughtwor

android - google-play-services lib 未使用 stub 未编译

我将google-play-services_lib添加到我的项目,但我在unusedStub.java类中遇到编译器错误。隐式super构造函数Object()未定义。必须显式调用另一个构造函数 最佳答案 我发现这个修复对我有用implicitsuperconstructorobject()isundefined.mustexplicitlyinvokeanotherconstructor.除了上述修复之外,转到google-play-services_lib的Android属性并将项目构建目标更改为Android4.4.2这对我

android - 带有 Mockito 或 Easy Mock 的 Robotium

我是Android测试的新手,如果你们中的一些人能帮助我,我将不胜感激。我正在使用robotium作为自动化测试框架(到目前为止还不错),但我不知道如何使用mockito或EasyMock为我的测试添加一些模拟。我真的坚持这一点。有人可以给我一些关于如何实现这一点的简单示例吗?提前致谢 最佳答案 简答/意见我不建议使用Mockito进行Android单元测试。Android环境感觉太复杂而无法模拟。Android单元测试的基本方法是在模拟器中运行它们。因此,许多容器类已经存在,无需模拟。长答案我对Android单元测试领域也比较陌生

java - Android 单元测试未为 Mockito stub 方法提供模拟消息

我创建了以下测试方法,我模拟了Settings.Secure并stub该类的getString方法。@TestpublicvoidtestIsDevicePostOwner()throwsException{StringmockDeviceId="2c3977ad-0867-49d6-aad8-c2762f373551";PostmockedPost=mock(Post.class);Settings.SecuremockedSecure=mock(Settings.Secure.class);ContentResolvermockContentResolver=mock(Conten

Android 单元测试/Mockito : android. location.Location not mocked

我正在尝试学习在Android上进行基本的JUnit和Mockito测试。我正在尝试为一个简单的类编写单元测试,该类处理代表需要位置信息的Activity从位置服务中查找用户的位置。我一直在尝试创建“伪造的位置”来测试:@TestpublicvoidtestLocationReceived()throwsException{LocationfakeLocation=newLocation(LocationManager.NETWORK_PROVIDER);fakeLocation.setLongitude(100);fakeLocation.setLatitude(-80);...}但

java - 像 Android 那样使用 stub 方法创建 API jar?

我希望分发自定义API,并且知道这些类将在运行时可用。我希望我的公共(public)和protected方法/类包含在我可以分发的jar中,但我不想要任何其他源代码,如果实际执行该jars代码,我想抛出异常。当您尝试直接执行jar时,这正是Android框架jar的行为。我的问题是如何从源代码创建相同的jar,而无需手动检查和创建每个stub方法。我希望它随着我的API的增长而扩展。 最佳答案 我相信您可以为此目的使用mkstubs工具:https://github.com/android/platform_development/

android - 单元测试 : How to verify and mock onCompleted for an Observable in RxJava within Android

我正在尝试为使用Retrofit2、Mockito1.10和RXJava1.0的Android应用程序编写一些单元测试。我没有使用支持lambda的java版本!我的代码使用Observables,我可以执行以下操作:when(myAPI.Complete(anyString(),any(MyContainer.class))).thenReturn(Observable.error(newThrowable("Anerrorhasoccurred!")));SubscribergenericResponseSubscriber=mock(Subscriber.class);myPre

android - 使用 MapView 时出现异常 - java.lang.RuntimeException : stub

以下异常对您有意义吗?我正在努力找出原因。它发生在我打开一个从MapActivity子类化的Activity(ActivityMap)时,即使MapActivity的布局不包含mapview元素。我怀疑这是一个项目问题。我正在使用IntelliJIDEA。我已将项目设置为针对8级mapAPI进行构建。IDE没有突出显示我在源代码中使用MapActivity的任何问题,它构建时没有错误-但在运行时出现此异常。"/>然后是Activity:publicclassActivityMapextendsMapActivity{@OverridepublicvoidonCreate(Bundles