gpt4 book ai didi

testing - 进行 mvn 安装时模拟测试失败

转载 作者:行者123 更新时间:2023-11-28 20:54:56 25 4
gpt4 key购买 nike

我有以下测试,在 IDE 中执行时成功运行,但是当我执行 mvn install 时,它失败并显示以下消息

org.mockito.exceptions.misusing.MissingMethodInvocationException: 
when() requires an argument which has to be 'a method call on a mock'.

下面是测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = SpringockitoContextLoader.class,locations={"classpath:conf/test-context.xml"})

public class ServiceTest
{
@ReplaceWithMock
@Autowired
private Object1 object1

@Autowired
private Service service;

@Before
public void setup()
{
MockitoAnnotations.initMocks(this);
}

@Test
public void test()
{//below line is failing while doing mvn install
String validateMe="1234"
Mockito.when(object1.validate(validateMe)).thenReturn(true)
}

}

我是否需要任何其他额外的配置才能让它在 maven 中工作?

更新在对 IDE 和 maven 的结果行为进行进一步分析后,我在测试方法中添加了以下代码,发现从 IDE 运行时,object1 以模拟形式出现并返回 true,但从 maven 测试运行时,它打印为 false。知道为什么会发生这种情况

new MockUtil().isMock(object1)

最佳答案

我发现如果我用等效的 xml 模拟配置注释掉 @ReplaceByMock,它在 maven 和 IDE 中都有效。奇怪!等效的xml如下:

<mockito:mock id="object1" class="org.fs.service.validation.Object1" />

更新我正在将代码从分支合并到主干,并再次考虑使用主干中的注释运行。我很惊讶地看到它工作。可能我的分支中有一些问题导致了这个问题。

关于testing - 进行 mvn 安装时模拟测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198611/

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