草庐IT

mocking-stubbing

全部标签

java - Maven 测试中集成的 SoapUI Mock

我想知道如何为WSClient执行一些集成测试。我的项目是用maven构建的。为了测试配置初始化和一些请求,我认为启动SoapUIMock服务是个好主意。然后我进入了从一些帖子中检索到的配置。在我的pom.xml中eviwaremaven-soapui-plugin4.0.1StartupMocksrc/test/soapui/MyMock-soapui-project.xml${project.build.directory}/surefire-reportstruehttp://127.0.0.1:8181DataProviderMocktesttest我的名为MyMock的Moc

java - Mockito:是否可以将 mock 与方法名称结合起来在 when() 调用中创建 methodCall?

我在StackOverflow上的第一个问题。我希望能够做类似的事情:SomeClassmock=mock(SomeClass.class);StringmethodName="someMethod";或方法方法=...someMethod...这两个东西(mock和方法)将结合起来执行以下操作:when(mock.someMethod()).thenReturn(null);当然,'null'值会根据我的需要进行相应更改,但我试图确定两件事:1)是否有可能在Java中执行类似this的操作?This=将类对象和方法组合到methodCall中。2)我该怎么做?我一直在研究这个,但我找

java - 为什么@Mock 没有 "field is never assigned"警告

如果您在测试类中声明私有(private)字段:privateFoofoo;它被使用但从未分配,当我将鼠标悬停在声明上时,IntelliJIDEA(可能还有其他IDE)会显示警告,并将其呈现为灰色从未分配私有(private)字段“foo”但是如果我使用Mockito并像这样注释字段:@MockprivateFoofoo;警告消失并以紫色呈现该字段以指示它已分配。IDE如何知道@Mock意味着什么?我查看了Mockito源代码,注释定义上似乎没有任何内容,而且我的IDE没有Mockito插件。我正在编写一个类似于Mockito的库,带有等效的注释,我很想知道如何让IDE删除警告。(我不

java - 与 doReturn 方法一起进行深度 stub

我正在尝试通过doReturn方法使用Mockito深度stub功能。当我在深度stub示例中使用when方法时,它工作正常:Foomock=mock(Foo.class,RETURNS_DEEP_STUBS);when(mock.getBar().getName()).thenReturn("deep");但是当我尝试使用doReturn做同样的事情时,我得到了一个WrongTypeOfReturnValue:doReturn("deep").when(mock).getBar().getName();我也尝试过这些方法,但后来我得到一个UnfinishedStubbingExcep

java - 如何处理来自 Mocks 的 Setter/Getter 方法?

所以我仍然无法使用Mockito。因此,假设我有以下类(请忽略它的逻辑或结构,这只是我从另一个类创建的一个简短示例,具有不同的名称等等。):publicclassRestaurant(@AutowiredprivateCustomerServicecustomerService;privateCustomerInputDataupdateCustomer(CustomerInputDatainputData){StringcustomerId=inputData.getID();Customercustomer=customerService.getCustomerById(custo

java - 有哪些方法可以从 WSDL 文件自动生成 Java 客户端 stub ?

我是网络服务的新手,阅读了一些关于XML、SOAP和WSDL的信息。这很有趣!我正在处理一个具有网络服务和客户端的现有项目。然而,“上级”客户对客户申请并不满意。它太复杂了,他们想要一个对用户更友好、更简单且可以轻松扩展的应用程序。该项目使用ApacheAxis2。我找到了WSDL文件并想基于它构建一个客户端。但是,由于上述原因(他们的意见),我不想使用Axis2。我想知道如果我必须使用已经存在的代码(wsdl文件),我可以使客户端变得更简单有谁知道我可以用来根据现有WSDL文件自动生成客户端stub的任何其他方法吗?我听说过wsimport,即使wsdl文件是使用Axis2创建的,它

java - Mockito:如果传递给 mock 的参数被修改了怎么办?

我们在使用Mockito时遇到了非常棘手的问题。代码:publicclassBaz{privateFoofoo;privateListlist;publicBaz(Foofoo){this.foo=foo;}publicvoidinvokeBar(){list=Arrays.asList(1,2,3);foo.bar(list);list.clear();}}publicclassBazTest{@TestvoidtestBarIsInvoked(){FoomockFoo=mock(Foo.class);Bazbaz=newBaz(mockFoo);baz.invokeBar();ve

java - Mockito 在测试方法之外 stub

我在测试方法之外还有下面的方法privateDynamicBuildgetSkippedBuild(){DynamicBuildbuild=mock(DynamicBuild.class);when(build.isSkipped()).thenReturn(true);returnbuild;}但是当我调用这个方法时,我得到了以下错误org.mockito.exceptions.misusing.UnfinishedStubbingException:Unfinishedstubbingdetectedhere:->atLINEBEINGCALLEDFROME.g.thenRetur

java - 是否有一套适用于 JDBC 的 stub /模拟在任何地方都可用?

在过去的几年里,我一直在与单元测试数据库代码作斗争,并承受着随之而来的所有痛苦。我发现这个现有的线程非常有启发性:What'sthebeststrategyforunittestingdatabases?已接受答案的作者建议模拟整个数据库层以验证生成的SQL可能很有用。几个月前我第一次看答案的时候并没有多想,但最近我观察到一些错误生成的SQL、错误分配的字段等导致的错误。我确实意识到JDBC相当臃肿且使用起来容易出错,但此时不能切换到不同的东西。有问题的应用程序是数据馈送的批处理器,直接使用JDBC而不是ORM。所有JDBC代码都被分成不同的DAO对象,其中除了实际实现之外,每个对象都

java - protected "stub"方法仅用于覆盖目的是否被视为良好做法?

有时当我扩展我自己的一个类时,我想(为了子类的目的)在父类(superclass)的方法中间“注入(inject)”一两行代码。在这些情况下,我有时会添加一个对空的protected方法的调用,以便子类覆盖。publicvoidsuperClassMethod(){//somefairlylongsnippetofcodedoSubclassSpecificStuff();//someotherfairlylongsnippetofcode}//dummymethodusedforoverridingpurposesonly!protectedvoiddoSubclassSpecifi