代码之家  ›  专栏  ›  技术社区  ›  JtR

如何测试使用外部命令行工具的驱动器软件

  •  1
  • JtR  · 技术社区  · 17 年前

    我试图弄清楚如何测试驱动软件,该软件启动外部进程,将文件路径作为输入,并在长时间处理后将输出写入stdout或某些文件?在这种情况下,写测试有一些常见的模式吗?在不启动测试中的实际工具并检查结果的情况下,很难创建快速执行的测试来验证外部工具的正确使用。

    5 回复  |  直到 17 年前
        1
  •  5
  •   Dave    17 年前

    你可以记住( http://en.wikipedia.org/wiki/Memoization )外部过程。用Ruby编写一个包装器,计算输入文件的md5和,并将其与已知校验和的数据库进行核对。如果它与一个匹配,请复制到正确的输出;否则,正常调用该工具。

        2
  •  3
  •   Dave W. Smith    17 年前

    测试到你的极限。在您的情况下,边界是您构造的调用外部程序的命令行(您可以通过monkey补丁捕获)。如果你把自己粘到该程序的stdout(或通过读取文件来处理其结果),那就是另一个边界。测试是你的程序是否可以处理这个“输入”。

        3
  •  3
  •   Gishu    17 年前

        4
  •  2
  •   Chuck    17 年前

        5
  •  1
  •   Yishai    17 年前

    然后是第二级测试,它可能是自动化的,也可能不是自动化的(最好是自动化,但这取决于它是否实用),它是在功能级别调用真正的实用程序,这样你就可以看到你打算通过的测试和你预期得到的测试与实际发生的情况相匹配。

    推荐文章