我想使用FactoryGirl和RSpec为我的Spree应用程序构建一个测试套件。我应该从头开始编写测试,还是可以以某种方式利用现有资源,这样我最终不会重复代码?
spree/core/spec/models/spree中有许多_spec.rb文件。如果可以运行rspec spec
并运行核心狂欢测试套件以及我编写的任何测试,那就太棒了。
Spree documentation建议运行bundle exec rake test_app
以在spec目录中构建相应的测试应用程序。“当我运行该命令时,收到此错误消息:
rake aborted!
Don't know how to build task 'ecommerce' (see --tasks)
Spree使用以下行安装在config / routes.db中:mount Spree::Core::Engine, at: '/'
。
我希望拥有“适当的文件”,这样我就不必编写已经编写过的许多测试,但我很难过。感谢您的任何提示。
答案 0 :(得分:1)
来自Spree文档:
Spree由几个不同的gem组成(有关更多详细信息,请参阅源代码指南。)这些gem中的每一个都有自己的测试套件,可以在spec目录中找到。由于这些gems也是Rails引擎,它们无法真正完全隔离测试 - 它们需要在Rails应用程序的上下文中进行测试。
您可以使用Rake任务轻松构建此类应用程序 为此目的而设计,在您想要的组件内运行它 测试:
$ bundle exec rake test_app
换句话说,如果您想测试Spree本身,请为此特定目的构建新的Rails应用程序。
我怀疑这是你想要做的。如果您为自己的应用程序编写测试,即使它使用Spree,您也不需要测试Spree本身,只需要编写您编写的代码。据推测,Spree的作者在将每个新版本发布到野外之前都会运行这些测试。