【发布时间】:2019-07-23 05:52:27
【问题描述】:
我正在使用 Sinatra 构建一个中型应用程序,当我只有一个 app.rb 文件并且我在 Github 上按照 Aslak 的指导进行操作时,一切都很好:
https://github.com/cucumber/cucumber/wiki/Sinatra
随着应用程序变得越来越大,app.rb 文件开始膨胀,我使用 Sinatra::Base 将很多部分重构为“中间件”样式模块,使用机架文件映射事物( config.ru) 等。
该应用程序运行良好 - 但我的规范崩溃了,因为没有更多 app.rb 文件可供 webrat 运行(如上面的链接中所定义)。
我试图找到有关如何使用此功能的示例 - 我想我只是还不习惯 Cuke 的内部结构,因为我无法找到一种方法让它涵盖所有应用程序。我试着只指向“config.ru”而不是 app.rb——但这不起作用。
我最终做的——这完全是 hackish——是在我的支持目录中有一个单独的 app.rb 文件,其中包含所有需要的东西,所以我至少可以测试模型的东西。我也可以在那里指定路线 - 但这根本不是我想要做的。
所以 - 问题是:如何让 Cucumber 正确使用模块化应用程序方法?
【问题讨论】: