Ruby on rails Rails控制器测试

Ruby on rails Rails控制器测试,ruby-on-rails,rspec,tdd,Ruby On Rails,Rspec,Tdd,我正在做测试程序的思想介绍。我不知道如何测试他们想要什么 下面是我的测试 require "rails_helper" describe PeopleController do describe "#create" do context "when person is valid" do it "redirects to #show" do post :create, FactoryGirl.build_stubbed(:person)

我正在做测试程序的思想介绍。我不知道如何测试他们想要什么

下面是我的测试

require "rails_helper"

describe PeopleController do
  describe "#create" do
    context "when person is valid" do
      it "redirects to #show" do

        post :create, FactoryGirl.build_stubbed(:person)

        expect(response).to redirect_to(show_people_path)
      end
    end

    context "when person is invalid" do
      it "redirects to #new" do
        pending "create this test"
      end
    end
  end
end
我当然用的是工厂女孩。我试过几种方法。我真的不知道该怎么测试这个控制器


任何见解都会很好

我将使用FactoryGirl创建一个“无效”人员,并将其作为参数发送到post:create

要创建无效人员记录,为什么不在FactoryGirl中使用?根据模型中的验证,您可以简单地执行以下操作:

spec/factories/person.rb

在你的测试中


谢谢现在这更有意义了。然而,我的终端抛出了一个未初始化的常量FactoryGirl错误。。。人力资源管理。。
FactoryGirl.define do 
  factory :person do
    ...
    factory :invalid_person do
      ...
      email nil
      ...
    end
  end
end
context "when person is invalid" do
  it "redirects to #new" do
    post :create, FactoryGirl.build_stubbed(:invalid_person)
    expect(response).to redirect_to action: :new
  end
end