マガジンのカバー画像

アウトプット

9
学習毎に行なっていたアウトプットを発信に転用。 日々のプログラミング学習で学んだことを、言語化。
運営しているクリエイター

#rspec

[output]サポートモジュール

[output]サポートモジュール

結合テストでは、「ログインする」というステップを何度も記述した。
テストコードにおいても、繰り返し行う処理をメソッドとして切り離せる。
RSpecでは、サポートモジュールというものを利用して行う。

方法は、specディレクトリ以下にsupportディレクトリを作成。
そこに、.rbファイルを配置。
モジュール名とファイル名は同じにし、名前で何をしているかわかるようにする。

■spec
 ■su

もっとみる
[output]Rspec結合テスト

[output]Rspec結合テスト

●System Spec結合テストは、System Specを用いて記述する。
記述には、カピバラというGemが必要だが、Railsが標準搭載している。
#Gemfilegroup :test do 略 gem 'capybara', '>= 2.15'略end``

そのため、導入処理不要。

ファイル生成は、bundle exec rspec:systemコマンドを実行する。
生成するファイ

もっとみる
[output]モデル単体テスト

[output]モデル単体テスト

モデル単体テストは、バリデーション及びメソッドの検証。

異常系テストにおいては、
presence: trueというバリデーションがあるなら、
カラムを空にして、エラーメッセージを検証する、と
バリデーションを参考にイグザンプルを組み立てやすい。

対し、正常系テストは、
アプリの仕様・動作の流れも参考にして、組み立てる必要がある。
例えばユーザー登録というdescribeならば、
「○○と△△

もっとみる
[Rspec/テストコード]今日の学習アウトプット!

[Rspec/テストコード]今日の学習アウトプット!

テストコードとは、アプリケーションの動作確認をするために書くコード。
品質の担保のために重要な工程。

また、どんなテストが必要か把握するには、アプリの仕様への理解が必要。
逆言うと、テストコード記述は理解を深めるのを助ける。

理解を深めるにあたって、ポイントは3つ。
・細かい記法は、使用する際に調べれば良い
・それより、ここで何を確認したいのかを理解する
・挙動で気になる点があれば、処理を止め

もっとみる