草庐IT

java - 如何覆盖 Mockito 中的 setter 方法?

我似乎无法弄清楚如何使用Mockito模拟一个简单的setter方法。我有以下类(class):classMyClass{privateSomeObjectsomeObject;publicvoidsetSomeObject(SomeObjectsomeObject){this.someObject=someObject;}publicsomeObjectgetSomeObject(){returnsomeObject;}}现在我只想在调用“setSomeObject”时设置一个新的“SomeObject”实例。setter中的参数也应该被忽略。我需要这样的东西:MyClassmock

java - 如何模拟 Maven 插件环境和/或项目配置

我想为我的maven插件编写单元测试(junit4)。我找到的所有示例都使用“AbstractMojoTestCase”(junit3:-()。为了摆脱这个,我得到了answerhere。但问题是Mojos如何实例化:MyMojomyMojo=(MyMojo)lookupMojo("touch",pom);这意味着我需要为每个测试用例创建一个pom-pom是测试输入数据。但是有没有办法以某种方式模拟(我会使用Mockito)项目模型?lookupMojo(StringgroupId,StringartifactId,Stringversion,Stringgoal,PlexusConf

java - 为什么用PowerMockRunner运行时不能使用@InjectMocks字段匹配?

我遇到了一个问题,在有2个@Mock相同类型。我也使用了@Mock(name="name_of_var")语法,但它仍然失败...这是被测类:importjava.util.Date;publicclassParent{privateDatedateA;privateDatedateB;publicvoidsetDateA(Date_dateA){dateA=_dateA;}publicvoidsetDateB(Date_dateB){dateB=_dateB;}publicDategetDateA(){returndateA;}publicDategetDateB(){returnd

java - 如何使用 mockito/powermock 模拟 Google 的地理编码 API 请求?

我想使用mockito/powermock对该方法进行单元测试:@ServicepublicclassGoogleApiService{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(GoogleApiService.class);privatestaticfinalStringLANGUAGE="es";privateListaddressTypes=Arrays.asList(AddressType.LOCALITY,AddressType.ADMINISTRATIVE_AREA_LEVEL_2,AddressType.

java - 用 Mockito 注入(inject)模拟不起作用

我正在使用Mockito测试我的Spring项目,但是@InjectMocks似乎无法将模拟服务注入(inject)另一个Spring服务(bean)。这是我要测试的Spring服务:@ServicepublicclassCreateMailboxService{@AutowiredUserInfoServicemUserInfoService;//thisshouldbemocked@AutowiredLogicServicemLogicService;//thisshouldbeautowiredbySpringpublicvoidcreateMailbox(){//domethi

Java Mock 抛出一个异常,然后返回一个值?

我正在使用JUnit4和Mockito2。我正在尝试模拟一种情况,在这种情况下,模拟函数在第一次调用时返回异常,并在随后的调用中返回有效值。我尝试简单地使用thenThrow()后跟thenReturn(),但这显然不是正确的方法when(stmt.executeUpdate()).thenThrow(newSQLException("Ihavefailed."));when(stmt.executeUpdate()).thenReturn(1);sut.updateValue("1");verify(dbc).rollback();sut.updateValue("2");verif

java - mockito 未模拟的 Autowiring bean 上的空指针

我有一个服务类需要进行单元测试。该服务有一个上传方法,该方法依次调用更新数据库的其他服务(Autowiring的bean)。我需要模拟其中一些服务和一些按原样执行。@ServicepublicclassUploadServiceImplimplementsUploadService{@AutowiredprivateServiceAserviceA;@AutowiredprivateServiceBserviceB;publicvoidupload(){serviceA.execute();serviceB.execute()://code...}在上面的示例中,我需要模拟Servic

java - 在不继承抽象类的情况下模拟对抽象类的公共(public)方法的调用,最好使用 mockito

我正在使用JUNIT+Mockito编写单元测试来测试如下方法:publicsomeObjectmethodUnderTest(){SomeObjectobj=SomeAbstractClass.someMethod();if(obj!=null){obj.someOtherMethod();}returnsomeThing;}我想模拟上面代码片段中提到的abstractClass"SomeAbstractClass"的调用,这样我就可以验证对"obj"的调用,比如:verify(SomeAbstractClass).someMethod();verify(obj).someOther

java - 模拟 CGLIB 增强对象

mockito真的不能模拟已经被CGLIB增强的对象吗?publicclassArticle{@AutowiredprivatedbRequestHandler@AutowiredprivatefilesystemRequestHandler@TransactionalpublicArticleDTOgetArticleContents(){//extractText()andthensavethedatainDTO//extractImages()andthensavethedatainDTO//someothercallstootherdatabasestosavedataindt

java - 检查单元测试是否委托(delegate)了所有方法

假设我有以下类(class)publicabstractclassFoo{publicintbar(){//implementation}publicabstractintbar2();}和一个基类,使为此类编写装饰器变得更容易publicclassFooWrapper{privatefinalFoodelegate;protectedFooWrapper(Foodelegate){this.delegate=delegate;}@Overridepublicintbar(){returndelegate.bar()}@Overridepublicintbar2(){returndel