Ruby & Rails

rails中使用rspec

2016-07-28  本文已影响112人  yes_heng

创建一个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)

上一篇 下一篇

猜你喜欢

热点阅读