DEV Community

kaede
kaede

Posted on

Rails 基礎 Part 05 -- create の単体テストを追加する

why

最初の単体テストを作るのに時間がかかった。
続きを一気に書く。


テスト実行結果の詳細を見せるための設定

これを入れると、どのテストが通ったのか表示される。
これを入れなければ、. (ドット)の数でしか通ったテストはわからない。

.rspec 
Enter fullscreen mode Exit fullscreen mode
--require rails_helper --format documentation --color 
Enter fullscreen mode Exit fullscreen mode


create

create は、レスポンスではなくデータベースをテストする。

参考

https://qiita.com/kagesumi3m/items/10244978273ffffa9b92

rspec

  1. 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 
Enter fullscreen mode Exit fullscreen mode

失敗した時(わざと変えている)

Image description

成功した時

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 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)