有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

集成流和通用处理程序的java Junit测试用例

我想为集成流和GenericHandler编写一个JUnit测试用例和集成测试用例

我看了一些文章,但没有发现有用的东西

代码片段1

IntegrationFlows.from(() -> path, e -> e.poller(Pollers.fixedDelay(60, TimeUnit.SECONDS)))
.handle(Sftp.outboundGateway(sftpSessionFactory(), LS, "payload")
        .regexFileNameFilter(".*csv"))
.split()
.handle(Sftp.outboundGateway(sftpSessionFactory(), GET, "payload.remoteDirectory + payload.filename").options(STREAM).temporaryFileSuffix("_reading"))
.handle(readCsvData(), e -> e.advice(afterReadingCsv()))
.filter(this, "checkSuccess")
.enrichHeaders(h -> h
        .headerExpression(FileHeaders.RENAME_TO, "headers[file_remoteDirectory] + 'archive/' + headers[file_remoteFile]")
        .headerExpression(FileHeaders.REMOTE_FILE, "headers[file_remoteFile]")
        .header(FileHeaders.REMOTE_DIRECTORY, "headers[file_remoteDirectory]"))
.handle(Sftp.outboundGateway(sftpSessionFactory(), MV, "headers[file_remoteDirectory]+headers[file_remoteFile]").renameExpression("headers['file_renameTo']"))
.get();

代码片段2

    public GenericHandler readCsvData() {
        return new GenericHandler() {
            @Override
            public Object handle(Object o, Map map) {
        }
       }
       }

为上述代码片段编写JUnit测试用例获得一些指导将非常有用


共 (1) 个答案

  1. # 1 楼答案

    你可以像下面这样做

    解决方案代码片段1:模拟该类并调用该方法,然后可以验证交互

    解决方案代码片段2:

    File file = ResourceUtils.getFile("classpath:someFile");
    InputStream inputStream = new FileInputStream(file);
    Map map = anyMap();
    GenericHandler genericHandler = service.readCsvData();        
    Object actual = genericHandler.handle(inputStream, map);
    // Add some assertions here