Rails 基礎 Part 05 -- create の単体テストを追加する
kaede
Posted on May 28, 2023
why
最初の単体テストを作るのに時間がかかった。
続きを一気に書く。
テスト実行結果の詳細を見せるための設定
これを入れると、どのテストが通ったのか表示される。
これを入れなければ、. (ドット)の数でしか通ったテストはわからない。
.rspec
--require rails_helper
--format documentation
--color
create
create は、レスポンスではなくデータベースをテストする。
参考
https://qiita.com/kagesumi3m/items/10244978273ffffa9b92
rspec
- let で bank_transaction を
describe BankTransactionsController do
let (:request_params) {
{
bank_transaction: {
account_number: 111,
amount: 222,
description: 333,
}
}
}
context 'ログインしているとき' do
before do
FactoryBot.create(:bank_transaction)
end
it '1つの取引データの金額が取得できること' do
# ....
end
it '取引データが作成できること' do
post :create, params: request_params
created_bank_transaction = BankTransaction.last
expect(created_bank_transaction.account_number).to eq '111'
expect(created_bank_transaction.amount).to eq 222
expect(created_bank_transaction.description).to eq '333'
end
after do
BankTransaction.destroy_all
end
end
end
失敗した時(わざと変えている)
成功した時
rspec spec/controllers/bank_transactions_controller_spec.rb
BankTransactionsController
ログインしているとき
1つの取引データの金額が取得できること
取引データが作成できること
Finished in 0.07932 seconds (files took 1.68 seconds to load)
2 examples, 0 failures
💖 💪 🙅 🚩
kaede
Posted on May 28, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.