LoginSignup
0
0

More than 1 year has passed since last update.

Railsで架空のCafeのHPを作ってみよう!【14日目】『文字数が多い時のテストコード』編

Posted at

概要

基本Railsの記法に則り書いていきます!
1から全ての説明ではなく
その中であれ?どうやるの?と
疑問に思った点や実装に困った箇所を
ピックアップして紹介していきます♩

設定と準備

・Rails
・HTML
・CSS
・Javascript(jQuery)

↑上記の言語とフレームワークを使い
架空(自分で考えたテキトーなもの)のCafeの
HPを作っていこうと思います!

14日目の作業内容:round_pushpin:

・単体テストコードの実行

14日目の気になった箇所:zap:

何百、何千字のある場合のテストコードはどのように
実行したらいいだろうか。

仮説:pushpin:
今まで自分が習ったテストコードの記述では

spec/models/sample_spec.rb
it 'textが10字以上だと追加できない' do
  @sample.text = "1234567890"
  @menu.valid?
  expect(@sample.errors.full_messages).to include('textは9文字以内で入力してください') 
end

一部抜粋して書いています。

このようにダブルクォーテーションで囲い文字列にして指定の文字数を入力していたが
ここに何百時も何千時もい打ち込むのはめんどくさいし綺麗なコードとは言えない。
この文字列の部分を違う記述にすれば可能なはず。

結論:star:

答えはとてもシンプルかつ簡単で

spec/models/sample_spec.rb
it 'textが100字以上だと追加できない' do
  @sample.text = "a" * 100
  @menu.valid?
  expect(@sample.errors.full_messages).to include('textは99文字以内で入力してください') 
end

このように1文字を100回反映させるように
演算子を使えば可能!
1000字でも10000字でも同じ記述で簡単にできる!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0