我有一个与某些Mac软件交互的Rails应用程序,我需要为它编写一些测试。我到底怎么做?我从哪里开始?
Rails应用程序通过AppleScript和Terminal连接到Mac应用程序。有什么想法吗?
更新
发现这个宝石有助于壳牌的期望。那就像我要的一样好吗?
答案 0 :(得分:1)
测试外部依赖性肯定是一个挑战。
请记住,您编写的测试应该测试Rails应用程序的行为,而不是外部依赖项。您应该进行集成测试以验证代码是否真正适用于应用程序,但它们应该是"冒烟测试"而不是测试每个功能的完整套件。
编写单元测试以验证依赖于依赖关系的代码的行为,并模拟交互。通常使用命令行应用程序表示:
您提到的宝石是一个良好的开端,但您可能会发现使用Ruby标准库中的Open3来编辑自己的帮助程序代码是值得的,这对于上面列表中的所有项目都很有用
在需要使用Mac应用程序的规范上使用标记,以便根据需要更轻松地过滤掉这些规范。
您可能已经熟悉vcr来模拟HTTP交互;它的回放"功能是一个很好的灵感来源。