如何使用RSpec测试设计模型,控制器和视图?

时间:2010-08-26 00:03:10

标签: ruby-on-rails testing devise

我习惯于生成我的rspec控制器&使用rspec_X语法的模型,例如

script/generate rspec_model Person
script/generate rspec_controller Person

但是,如果我想使用devise创建Person模型,则语法为:

script/generate devise Person

工作正常,但不会创建任何rspec测试文件/ dirs。

是否有可用于生成两者的命令?

(Ruby 1.8,Rails 2.3)

谢谢!

2 个答案:

答案 0 :(得分:0)

这些模型和控制器在内部进行了Devise测试,因此您不应该自己重复这些工作。如果您想测试用户是否可以登录,注销,注册和检索他们的密码,我建议您使用Cucumber编写测试来测试Devise与您的应用程序的集成。

答案 1 :(得分:0)

  

我习惯于生成我的rspec控制器&使用rspec_X语法的模型

如果你想创建rspec结构,你仍然可以使用它,但你可能想要拒绝覆盖你的模型。例如,这是我的rspec_model输出:

$ script/generate rspec_model Person
      exists  app/models/
      create  spec/models/
      create  spec/fixtures/
overwrite app/models/person.rb? (enter "h" for help) [Ynaqdh] n
        skip  app/models/person.rb
      create  spec/models/person_spec.rb
      create  spec/fixtures/people.yml
      exists  db/migrate
      create  db/migrate/20100826043436_create_people.rb

我刚刚告诉它不要覆盖app/models/person.rb