我正在编写一个C++类,它作为FTP客户端执行一些操作。我想为它设置一些测试,所以我需要使用一个假FTP服务器。
我一直在寻找一个脚本,我想我可以用Python编写一些脚本并使用pyftpdlib。但是,我想在每次测试之后设置和拆卸服务器都会有一些缺点。
任何关于如何在C++中轻松运行假FTP服务器以进行自动测试的建议都是欢迎的。
编辑:
我扩大了搜索范围,找到了MockFtpServer,这正是我所要寻找的,尽管它是用C++而不是Java编写的。
发布于 2011-10-17 08:26:25
您应该为可测试性设计代码,在这种情况下,FTP服务器是外部资源。在程序和ftp服务器之间定义适配器。在测试中,您可以放置一个测试适配器来伪造FTP响应。现在,您还可以为ftp服务器伪造不同的行为。
发布于 2011-10-17 18:37:37
如果你说的是单元测试,那么@peer的答案是正确的。您应该模拟FTP连接,因为理想情况下,单元测试是作为每个构建的一部分运行的,它们不应该依赖于客户端包之外的内容。
OTOH,如果您讨论的是系统/集成测试,那么您应该拥有支持的生产环境的工作克隆,包括FTP服务器。我不知道为什么你会想要一个‘假’FTP服务器为您的系统/集成测试。最好使用您的客户端实际使用的FTP服务器。
https://stackoverflow.com/questions/7791081
复制相似问题