-2
在我的Java Web Spring应用程序中,我必须调用外部程序。这些不是一些REST API调用,而是文件系统上的一些系统二进制文件。如何在JUnit中模拟外部程序调用
我该如何有效地测试/模拟这些调用?
感谢
在我的Java Web Spring应用程序中,我必须调用外部程序。这些不是一些REST API调用,而是文件系统上的一些系统二进制文件。如何在JUnit中模拟外部程序调用
我该如何有效地测试/模拟这些调用?
感谢
你必须考虑在抽象。
例如:你可以创建类似
interface BinaryRunner {
void runBinary(String command, String... args);
}
class BinaryRunnerImpl implements BinaryRunner { ...
(当然,这只是一个例子,我彻底离开我们的错误处理路径)
而你的“生产”代码使用好吧,运行二进制文件。现在你可以模拟一个BinaryRunner的实例,并将它提供给你的生产代码。您的产品代码打出电话;你可以使用模拟来检查。
最后:当然,测试BinaryRunner的实施可能会有点困难;-)
不清楚 - 我不明白你在问什么。 –
摘要'class MyExternalBinary'中的调用;然后嘲笑那堂课。 –