测试由外部编辑器编辑的tmp文件

时间:2014-04-15 11:37:29

标签: cucumber aruba

我有一个功能可以打开用户编辑器(在$EDITOR中指定),并在/tmp中的某个位置打开一个空的临时文件。用户必须保存此文件,如果已更改内容,则应使用该临时文件运行另一个命令。

When I run `app new`
And I the user enters and saves text
Then "another-app --process <tmpfile>" should be run

我已经有了检查命令运行的步骤,这给我留下了两个问题:

  1. 如何以非交互方式编辑此临时文件?
  2. 我的cuke如何知道随机临时文件名以检查运行的命令是什么?
  3. 注意:我已经设置了一个假的解决方案,所以我可以将$EDITOR设置为一个只会将一些文本输出到指定文件的脚本。这可能是(1)的解决方案,但这仍然留给我(2)。

1 个答案:

答案 0 :(得分:2)

1 很简单,因为它只是一个更改文件的命令。无论是编辑还是sed或其他什么都无关紧要。您可以对调用命令的对象进行单元测试,以确保它运行$EDITOR path/to/file,但这不是您的验收测试应该关注的事情。 2 也很容易,因为Cucucmber不必知道运行的命令。那是一个单元测试的东西。黄瓜只应观察外部效果(某些文件已创建,某些输出显示在屏幕上等)。

让Cucumber观察用户看到的发生的事情。让您的单元测试检查 的发生方式。