ruby-on-rails 如何使用rspec创建更新测试?

x7yiwoj4  于 2022-11-19  发布在  Ruby
关注(0)|答案(1)|浏览(203)

我正在创建更新测试

describe 'PUT /update' do
      context "update a Article" do

        it 'update ' do
          put "/api/v1/posts/#{@post.id}/articles/#{@article.id}", article =>{name: "n"}
          expect { @patient.name }.to eq("ABCD1")
        end
      end
    end

但我越来越

ArgumentError:
       unknown keyword: #<Article id: 1,
q8l4jmvw

q8l4jmvw1#

这个错误是由您执行查询的行中的, article =>{name: "n"}部分引起的。我不完全清楚您试图在那里实现什么,但我猜您希望以params的形式传递一个新的文章名称。另一个问题肯定是下一行,因为为什么在更改@article时期望特定的@patient.document_id呢?
试试看:

describe 'PUT /update' do
  context "update a Article" do
    it 'update the article as expected' do
      put("/api/v1/posts/#{@post.id}/articles/#{@article.id}", 
          params: article: { name: "new name" })

      expect { @article.name }.to eq("new name")
    end
  end
end

相关问题