gpt4 book ai didi

java - Mockito "when"的可能性

转载 作者:行者123 更新时间:2023-12-01 04:13:09 25 4
gpt4 key购买 nike

我正在发现 Mockito 和一般的“mocks”。我想要一个方法在每次调用她时返回一个值。

所以我做到了

CommonJMSProducer mockedJMS = mock(CommonJMSProducer.class);
when(mockedJMS.sendMessage(any(ActiveMQTextMessage.class), anyString()))
.thenReturn(null);

但是在我调用另一个方法之后,该方法将调用前一个方法,而我的模拟从未使用过。所以,我的问题是,“何时”仅在我使用mockedJMS或始终创建对象时才有效?

在我的测试中,我调用了这样的服务

this.request("api/receiver")
.setHeader("TYPE", "ACCESREFUSE")
.setHeader("APPLICATION", "Bruno Appli")
.setHeader("TOMCAT", "tomcat1")
.setHeader("SERVER", "server1")
.post("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ACCESREFUSE><IDOper>0002</IDOper><DateEvt>131015144340</DateEvt><IDEvt>0</IDEvt><IDJoueur>123456789</IDJoueur><HashJoueur>0000000000000000000000000000000000000000</HashJoueur><IDSession>301090</IDSession><IPJoueur>81.252.190.129</IPJoueur><TypAg>JC</TypAg><CauseRefus>Interdiction temporaire</CauseRefus><TypeRefus>AutoInterdit</TypeRefus></ACCESREFUSE>");

在内部,调用 sendMessage 方法。

可能吗?

最佳答案

是的,when 仅适用于对象实例(在您的情况下,mockedJMS)。

如果您希望在其他地方使用您的模拟对象,则必须在这些地方适本地连接它 - 例如通过代码或 DI 框架。

关于java - Mockito "when"的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19703025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com