FeatureSpecをSystemSpecに書き換えてみる!

参考:rspec-rails 3.7の新機能!System Specを使ってみた

 

SystemSpecって何??

RSpec結合テスト(FeatureSpec)の上位互換

rspec-rails3.7で導入された。

・Rails5.1以上で使用可能

 

違いとしては

今まで設定して色々都合良くしてた部分がデフォルトで動く。

といった具合なのかな。

 

テストに失敗すると自動的にtmp/screenshotsディレクトリにスクショ保存するのは凄いと思った!!

 

基本的な記法としてはFeature Specと同じ。

なのでほとんど従来のテストコードを再利用できます。

 

違いとしては

# feature 'Blog管理' do
RSpec.describe 'Blogs', type: :system do

 

これだけ。

1行目がFeature Specの宣言で、

2行目がSystem Specの宣言。

 

たったこれだけの違いで

色々設定してChrome上でテスト実行するとかをデフォルトでしてくれるなら書きますねー。

 

噛み砕くとこんな感じ。

上記参考サイトがとてもわかりやすい。