【发布时间】:2011-08-31 19:09:44
【问题描述】:
我有一个用纯 Ruby 编写的命令行 (NON-RAILS) 应用程序,我正在通过 Cucumber 和 RSpec 驱动它。它遵循 lib、bin、spec 和功能目录的典型应用层次结构。
到目前为止,我一直遵循编写失败的 Cucumber 功能/场景的传统过程,下降到 RSpec 以驱动支持的 lib 文件,然后让场景通过。
不幸的是,在“bin/my_application.rb”中驱动主应用程序入口点时,这似乎并不那么简单。对我来说主要问题是我不是在 RSpec 中描述一个类,它是一个顺序的 Ruby 脚本,用于通过命令行参数和选项管理应用程序的类和初始化。
"bin/my_application.rb" 只是一个小的 shell 执行包装器,用于解析命令行选项并将它们作为初始化选项传递给我的主应用程序类。我仍然想测试 bin 脚本的行为(例如 MyApp.should_receive(option_a).with(parameter))。
有什么建议/想法/建议吗?这是驱动命令行 Ruby 脚本行为的正常测试策略吗?
提前致谢。
【问题讨论】:
标签: ruby testing cucumber bdd rspec2