首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RSpec使用CouchRest模型测试Rails中的错误

使用RSpec使用CouchRest模型测试Rails中的错误
EN

Stack Overflow用户
提问于 2011-05-29 01:40:47
回答 1查看 382关注 0票数 1

我有一个普通的Rails项目(没有活动记录),它使用CouchDB (couchrest_model)作为文档数据库。

我设置了RSpec和一个基本的脚手架“项目”。

当我测试以下规范时:

代码语言:javascript
复制
  before(:each) do
    @project = Project.create! valid_attributes
  end

  describe "GET index" do
    it "assigns all projects as @projects" do
      get :index
      assigns(:projects).should eq([@project])
    end
  end

我得到以下错误:

代码语言:javascript
复制
Failure/Error: assigns(:projects).should eq([@project])

       expected [{"name"=>"test", 
                  "updated_at"=>2011-05-28 11:24:04 -0500,
                  "created_at"=>2011-05-28 11:24:04 -0500, 
                  "couchrest-type"=>"Project",
                  "_id"=>"709edbfaafb24fa1eff7d5f3966b2bda",
                  "_rev"=>"1-ae3f6356f8e32f6006337a4f3759bca4"}]
            got [{"name"=>"test",
                  "updated_at"=>2011-05-28 11:24:04 -0500, 
                  "created_at"=>2011-05-28 11:24:04 -0500,
                  "_id"=>"709edbfaafb24fa1eff7d5f3966b2bda",
                  "_rev"=>"1-ae3f6356f8e32f6006337a4f3759bca4",
                  "couchrest-type"=>"Project"}]

看起来唯一的区别是散列中元素的顺序:

代码语言:javascript
复制
  (compared using ==)

   Diff:

   @@ -1,7 +1,7 @@
    [{"name"=>"test",
      "updated_at"=>2011-05-28 11:24:04 -0500,
      "created_at"=>2011-05-28 11:24:04 -0500,
   -  "couchrest-type"=>"Project",
      "_id"=>"709edbfaafb24fa1eff7d5f3966b2bda",
   -  "_rev"=>"1-ae3f6356f8e32f6006337a4f3759bca4"}]
   +  "_rev"=>"1-ae3f6356f8e32f6006337a4f3759bca4",
   +  "couchrest-type"=>"Project"}]

我知道'rspec‘和'rspec-rails’只适用于活动记录,但对于其他ORM应该没有太大的不同。我是不是遗漏了什么?

修复此测试的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 22:54:45

尝试:

代码语言:javascript
复制
assigns(:projects).should == [@project]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6163316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档