gpt4 book ai didi

java - 为什么在使用 EasyMock.createMock 创建 mock 时 junit 测试失败?

转载 作者:行者123 更新时间:2023-12-03 22:54:08 25 4
gpt4 key购买 nike

我在编写 junit 测试时遇到了 EasyMock 的意外行为。最后,我删除了一些代码行,直到剩下一行创建模拟,看看发生了什么。

@Test
public void testSimple() throws Exception {
Socket socket = EasyMock.createMock(Socket.class);
}

这个 junit 测试产生错误:

[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.052 sec

当我只有正常的实例化时,情况就不是这样了:

@Test
public void testSimple() throws Exception {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
}

这个 junit 测试似乎对此很满意:

[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.047 sec

不知道有没有人能解开这个歧义。谢谢。

最佳答案

您正在尝试模拟具体类(Socket 不是接口(interface)),因此您可能需要做一些额外的工作。

假设您使用的是 EasyMock 的 3.X 版本,您可能需要添加类模拟所需的其他库:

cglib (2.2) and Objenesis (1.2) must be in the classpath to perform class mocking

关于java - 为什么在使用 EasyMock.createMock 创建 mock 时 junit 测试失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301395/

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