草庐IT

EasyMock

全部标签

java - 在非常简单的示例中使用 EasyMock.expect() 时编译错误?

我正在尝试一个使用EasyMock的非常简单的示例,但是我根本无法构建它。我有以下测试用例:@TestpublicvoidtestSomething(){SomeInterfacemock=EasyMock.createMock(SomeInterface.class);SomeBaseexpected=newDerivesFromSomeBase();EasyMock.expect(mock.send(expected));}但是我在EasyMock.expect(...行中收到以下错误:Themethodexpect(T)inthetypeEasyMockisnotapplicab

java - EasyMock:replay后多加一个期望

是否可以在重播模拟对象后添加期望? 最佳答案 可以重置模拟对象并在再次重放之前对其应用新的期望。EasyMock.reset(myMock)参见EasyMockdocumentation获取更多信息。 关于java-EasyMock:replay后多加一个期望,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7217477/

java - 如何模拟无法在测试中实例化的对象?

我在测试中使用EasyMock模拟对象。但是我如何模拟在我的代码中其他地方创建的对象呢?看下面的伪代码。我想模拟WebService#getPersonById,我该怎么做?publicclassPerson{publicPersonfind(intid){WebServicews=newWebService();returnws.getPersonById(id);}}publicclassPersonTest{testFind(){//HowdoImockWebService#getPersonByIdhere?}} 最佳答案

java - EasyMock 中 Mockito.spy/doReturn 的类比是什么?

想象一下,我有以下类(class):publicclassTestClass{publicclassIndex{}publicclassIndexData{privatefinalIndexindex;privatefinalReentrantReadWriteLocklock=newReentrantReadWriteLock();publicIndexData(finalIndexindex){super();this.index=index;}publicIndexgetIndex(){returnindex;}publicLockgetReadLock(){returnlock

java - 测试调用 native 方法的代码

我有这样一个类:publicfinalclassFoo{publicnativeintgetBar();publicStringtoString(){return"Bar:"+getBar();}}请注意,getBar()是使用JNI实现的,并且该类是final。我想编写一个junit测试来测试toString()方法。为此,我需要模拟getBar()方法,然后运行原始的toString()方法来检查输出。我的第一个想法是这一定是不可能的,但后来我发现了PowerMock它支持根据功能列表测试最终类和native方法。但到目前为止,我没有成功。我做的最好的事情是模拟整个类,但随后测试测

java - 如何忽略 JUnit/easymock 中的意外方法调用?

我只是想知道是否可以使用Junit和easymock来忽略​​意外的方法调用?即而不是测试失败,我希望能够说-“在这一点上-忽略任何意外的方法调用并继续正常进行测试”谢谢 最佳答案 使用EasyMock,您可以创建一个很好的模拟,与普通模拟对象不同,如果发生意外/记录的调用,它不会抛出断言错误。引用easymock文档...OnaMockObjectreturnedbycreateMock()thedefaultbehaviorforallmethodsistothrowanAssertionErrorforallunexpecte

EASYMOCK从1.2迁移到3.4

是否有一种简单的方法可以迁移Easymock1.2至3.4?我处于无法将两个版本保存在项目中的情况下。如果我都有两个版本,我会收到此错误:错误:java.lang.nosuchmethoderror:org/easymock/enternal/residstate。看答案哦亲爱的。1.2是老旧的。因此,您至少需要使用它来重新编译测试代码。您还应该删除您在类路径中可能拥有的任何类扩展名。从那里开始,它应该很简单,但需要大量查找和替换。无需再拥有明确的控制类。唯一的复杂部分是当您使用默认方法行为时。这被删除了。因此,您需要用存根替换它。

java - EasyMock "Unexpected method call"尽管有 expect 方法声明

我的EasyMock预期方法被认为是意外的,尽管我没有使用和严格模拟,并且该方法在被回复之前已经声明。在这行代码中测试失败:IntentbatteryIntent=context.getApplicationContext().registerReceiver(null,newIntentFilter(Intent.ACTION_BATTERY_CHANGED));测试:@BeforepublicvoidsetUp(){mocksControl=createControl();contextMock=mocksControl.createMock(Context.class);//(.

Android:生成模拟 Intent 并从中返回一些 Intent 数据

我正在使用ActivityInstrumentationTestCase2用于我的应用程序的单元测试。我有一个案例,用户点击Activity'A'的按钮,然后打开一个新的Activity'B',用户将在其中做一些工作,最后一些数据通过setResult(RESULT_OK,intent)返回给Activity'A';现在,我想通过jUnit对此进行测试,并想模拟此工作流,以便不需要用户交互。谁能帮我解决这个问题。PS:我不想为此使用Robotium..我只想通过普通的ActivityInstrumentationTestCase2和一些Mocking框架来完成。

java - 是否可以在 Android/dalvik 中覆盖 Java 类中的 native 方法?

我正在使用EasyMock对类TestMe进行单元测试,其中一种方法(比如method(Nn))需要一个N有一个本地方法(比如nativeMethod())。classTestMe{voidmethod(Nn){//Dostuffn.nativeMethod();//Domorestuff}}method()需要在某个时候调用N.nativeMethod(),而我遇到的问题是我的N的Easymock模拟对象无法覆盖native方法。我不拥有N类,但我可以以任何必要的方式重构TestMe。我决定制作我自己的类FakeNextendsN,它覆盖nativeMethod什么都不做:class