rails中使用rspec

创建一个engine:

rails plugin new engine_name --mountable

若不想用rails自带的单元测试(Test::Unit),可以加上参数(-T)过滤掉;

rails plugin new engine_name -T --mountable

--mountable  # 生成一个命名空间引擎

接下来更改engine_name下的lib/engine_name/engine.rb ,用于支持rspec;

加入以下代码块:

...

config.generators do |g|

   g.test_framework :rspec

end

...

可以看出这段代码块是告诉rails,在生成(generate)动作的时候使用配置的测试框架(rspec or others)。

做好了上述的准备工作后,可以安装rspec到当前engine了:

rails g rspec:install

engine与rspec此时已经结合了,外部app与engine之间的链接还差数据库,也就是migrate。在project目录下通过命令可以把migrate文件移植到db/migrate/下,然后进行migrate生成数据表:

rake engine_name:install:migrations  # 移植migrate文件

rake db:migrate  #生成数据表

此时项目与engine,engine与rspec都已经结合好了。

问题遗留:路由没有配置好,运行rake routes 查看到的路由形如:engine_name/generate_name(s)#index(other action)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容