草庐IT

mocking-stubbing

全部标签

java - 使用 Spock 在 Spy 对象中 stub 一个 void 方法

我正在使用Spock,我要测试的类包含在Spy中。我想隔离被测试的方法,所以我试图排除从被测试的方法调用的其他方法。通常我会使用这样的东西:1*classToTest.methodName(_)>>stubbed_return_value我的问题是:methodName是一个无效的方法。我试过这个:1*classToTest.methodName(_)但实际方法仍然被调用。我如何使用Spock去除void方法? 最佳答案 你可以用nullstub...给定以下Java类:publicclassComplex{privatefinal

java - 单元测试 : Call @PostConstruct after defining mocked behaviour

我有两个类:publicMyService{@AutowiredprivateMyDaomyDao;privateListlist;@PostConstructprivatevoidinit(){list=myDao.getItems();}}现在我想在单元测试中包含MyService,因此我将模拟行为MyDao。XML:单元测试:@ContextConfiguration("/test-context.xml")@RunWith(SpringJUnit4ClassRunner.class)publicclassMyServiceTest{@AutowiredMyServicemySe

java - 我们真的需要在 java RMI 中创建 Stub 吗?

我正在阅读一些RMI文档,所有书籍都说我们需要为客户端创建Stub以便与服务器通信。但是,我试图不创建stub,而且一切都很顺利。我将客户端程序放在一台机器上,将服务器放在另一台机器上,一切正常。那么,创建Stub的实际目的是什么?我们真的需要创建一个吗?谢谢。 最佳答案 从Java1.5开始,您不必:Thisreleaseaddssupportforthedynamicgenerationofstubclassesatruntime,obviatingtheneedtouse[...]stubcompiler,rmic,topre

Java:从 JAR 文件中的类文件中获取方法 stub 的简单方法?反射?

我正在寻找一种方法来获取jar文件中所有类的方法stub列表。我不确定从哪里开始...我可以使用Reflection或Javassist或其他一些我还没有听说过的工具吗!?至少可以解压jar,反编译类文件并使用行解析器扫描方法,但我认为这是最肮脏的方式;-)有什么想法吗?亲切的问候 最佳答案 基于aioobe'sanswer,您还可以使用ASM的树API(与其访问者API相对)来解析JAR文件中包含的类文件的内容。同样,您可以使用JarFile读取JAR文件中包含的文件。类(class)。这是如何完成此操作的示例:printMeth

java - 如何通过 Mockito 对被测类的私有(private)方法进行 stub

假设我们有一个名为SomeClass的java类publicclassSomeClass{privatebooleanisMethod(){returnfalse;}publicvoidsendRequest(Stringjson,Stringtext){intmessageId;if(isMethod()){messageId=getMessageId(json);sendMessage(messageId,text);}else{thrownewIllegalArgumentException();}}privatevoidsendMessage(intmessageId,Stri

java - 我应该出于什么原因 mock ?

我也是Mockito和PowerMockito的新手。我发现我无法使用纯Mockito测试静态方法,所以我需要使用PowerMockito(对吗?)。我有一个名为Validate的非常简单的类,使用这个非常简单的方法publicclassValidate{publicfinalstaticvoidstateNotNull(finalObjectobject,finalStringmessage){if(message==null){thrownewIllegalArgumentException("Exceptionmessageisanullobject!");}if(object=

java - 使用 Wiremock stub - WithBodyFile 位置不是 _files

Wiremock文档指出,withBodyFile中指定的文件位置应位于src/test/resources/__files中。我想在src/test/resources/Testing_ABC/Testcase2/myfile.xml中有文件。有什么办法可以实现吗?我试过跟随,但它似乎不起作用!stubFor(get(urlPathEqualTo("/abc")).willReturn(aResponse().withHeader("Content-Type","text/xml;charset=utf-8").withHeader("Content-Encoding","gzip"

java - JUnit 测试 : Suppress enum constructor by mocking?

我知道可以模拟单个枚举(使用HowtomockanenumsingletonclassusingMockito/Powermock?),但我有1000个枚举值,它们可以调用5个不同的构造函数。枚举值在开发过程中经常发生变化。我只想为我的JUnit测试模拟一两个。我不关心其余的,但它们仍然是实例化的,这会调用一些讨厌的东西,从文件系统加载枚举的值。是的,我知道这是非常糟糕的设计。但现在我没有时间更改它。目前我们正在使用Mockito/powermock。但是任何可以解决这个问题的框架sh**我的意思是欢迎糟糕的设计。假设我有一个与此类似的枚举:publicstaticenumMyEnum

java - 使用 JAVA (IOM Bridge) 将变量插入 SAS。我应该使用 CORBA stub 和 JDBC 还是有其他选择?

这是我的代码片段的一部分WorkspaceConnectorconnector=null;WorkspaceFactoryworkspaceFactory=null;StringvariableListString=null;PropertiessasServerProperties=newProperties();sasServerProperties.put("host",host);sasServerProperties.put("port",port);sasServerProperties.put("userName",userName);sasServerPropertie

java - 如何正确使用从 swagger 规范生成的服务器 stub ?

我正在使用Swagger2.0和swagger-codegen(实际上是Maven的swagger-codegen-plugin)来指定、记录和生成API,以Java作为目标语言。该项目已设置为构建服务器stub(JAX-RS)和文档,Eclipse可识别项目buildPath中生成的代码。我不确定从这里开始的正确工作流程是什么。:-/我认为我不应该修改生成的类,否则每当我更改swagger规范时我的更改都会被覆盖,我希望随着开发的进行,我对API的更多思考会改变它。那我该怎么办呢?继承生成的类(哪些?)或将它们包含在我自己的类中? 最佳答案