人生就是不斷學習,調整與更新持續前進。
回上一頁

RSpec寫測試之路(持續更新)

寫單元測試是後端工程師必學與必經之路的習慣,也是讓程式更穩的開發過程。

 

使用的RSpec的Gem為:https://github.com/rspec/rspec-rails

 

以下是一些常見的 RSpec 語句及寫法:

 

以下是 對 User測試的一個範例:

  
describe User do
  it { should have_many(:posts) }
  it { should validate_presence_of(:name) }
  it { should validate_uniqueness_of(:email) }

  it "should create a user with valid attributes" do
    user = User.create(name: "John Doe", email: "[email protected]")
    expect(user).to be_valid
  end

  it "should not create a user with invalid attributes" do
    user = User.create(name: "", email: "")
    expect(user).not_to be_valid
  end
end
  

 

針對基礎Controller的Iindex寫的RSpec:

  
     describe "GET #index" do
       it "assigns all model_names to @model_names" do
	    get :index
	    expect(assigns(:model_name)).to eq(@model_names)
       end
 end