我看到Mockito也支持模拟施工:
https://javadoc.io/static/org.mockito/mockito-core/3.11.2/org/mockito/Mockito.html#49https://rieckpil.de/mock-java-constructors-and-their-object-creation-with-mockito/
但是我不能在文件的构造上做存根:
try (MockedConstruction<File> ignored = Mockito.mockConstruction(File.class,
(context) -> {
Log.info("new file: {} in {},{},{}", context.getCount(), context.arguments(), context.constructor());
return Mockito.withSettings().defaultAnswer(CALLS_REAL_METHODS);
})) {
File stub = new File("test");
}
它将为java.lang.StackOverflowError
at java.base/java.io.File.exists(File.java:816)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.io.File.exists(File.java:816)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.io.File.exists(File.java:816)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
你知道如何模拟“新”文件类吗?
谢谢。
通过在测试中添加以下代码,我成功地运行了该程序:
static class Foo implements Serializable, Comparable<Foo> {
String method() {
return "foo";
}
public int compareTo(Foo o) {
return 0;
}
}
@Test
void testFile() {
try (MockedConstruction mocked = mockConstruction(Foo.class)) {
Foo foo = new Foo();
when(foo.method()).thenReturn("bar");
assertEquals("bar", foo.method());
verify(foo).method();
}
try (MockedConstruction<File> ignored = Mockito.mockConstruction(File.class,
(context) -> {
Log.info("new file: {} in {},{},{}", context.getCount(), context.arguments(), context.constructor());
return Mockito.withSettings().defaultAnswer(CALLS_REAL_METHODS);
})) {
File stub = new File("test");
}
}
恕我直言,莫基托/字节芽中的一个错误
我刚刚开始玩google proto。当我尝试编译proto java示例中的proto文件时,它不会生成任何grpc文件。 原型文件,https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto 终端输出, rsonkhla@raman-OptiPlex-9020:~/sandbox
问题内容: 我有一个兼容ejb-3的ejb,例如 我需要为此EJB生成存根。但我不想使用Websphere工具或Maven工具。有什么方法可以使用jdk生成存根吗? 创建远程客户端时 可以在weblogic或jboss中工作,但是在websphere中,即使是ejb 3,您也需要这样编写 在这种情况下,如果客户端不存在存根,它将抛出异常,这是一种使用Websphere ejb存根生成器工具生成存根
我成功地从多个wsdlendpoint使用maven-jaxb2-plugin生成java类。 这是一次执行: 这里的问题是,我有多个执行,因此生成多个类,每个执行将类保存在不同的包中。 一个B类abiret2.java在多个包中生成(因此,它来自多个wdsls) 当我执行使用这个存根的代码时,例如在单元测试中,我会得到以下异常: 我发现了一些可能的修复方法,比如在args标记下添加配置 Arg,
Spring RestDocs可用于为具有Spring MockMvc或RestEasy的HTTP API生成文档(例如,asciidoctor格式)。在生成API文档的同时,还可以使用Spring Cloud Contract WireMock生成WireMock存根。只需编写正常的RestDocs测试用例,并使用@AutoConfigureRestDocs在restdocs输出目录中自动存储存
问题内容: 使用该插件,我将创建一个文件并基于单击按钮生成下载。我想将文件保存到服务器上,而不是启动下载。因此,当单击按钮时,我希望将文件保存在: 我知道我需要使用将文件发布到服务器。但是,查看文档并没有看到对任何数据类型的支持。 我的代码: 基于此xml文档保存示例,我尝试了以下操作: 这将下载文件而不是保存文件。如何保存文件? 问题答案: 我设法使用来解决此问题,方法如下: upload.ph
正如代码中所解释的那样,我需要这样做来防止连续两次更新项目照片的情况,因为第一次更新太快而无法完成上传。我最终得到了2个文件-其中一个没有从任何地方引用。如果我可以做类似的事情,第二次上传将转到我的“更新”情况(而不是这里提供的“新照片”情况)-在那里文件将被正确地切换。