我需要测试Apache骆驼SFTP使用者。有没有一种方法可以运行嵌入式SFTP服务器在开发环境中测试我的代码?感谢对此的任何帮助。

最佳答案

一旦遇到类似问题,并因此编写了一个JUnit 4规则,即可在测试期间运行SFTP服务器。它称为Fake SFTP Server Rule,内部使用Apache Mina SSHD。这是使用该规则的测试示例:

public class SomeTest {
    @Rule
    public final FakeSftpServerRule sftpServer = new FakeSftpServerRule();

    @Test
    public void testTextFile() {
        //code that uploads the file

        String fileContent = sftpServer.getFileContent("/directory/file.txt", UTF_8);

        //verify content
    }
}

09-26 11:32