心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

RailsTutorial4.0を高速で復習する。6.2.1章。

   


6.2.1最初のユーザーテストです。ユーザーモデルをrails g modelで作りrake dbしたので、デフォでできているテストを実行してみます。

bundle exec rspec spec/models/user_spec.rb

するとpendingになります。

何かテストコードをかいていきます。

リスト6.5 :nameと:email属性のテスト。
spec/models/user_spec.rb

require 'spec_helper'

describe User do

  before { @user = User.new(name: "Example User", email: "user@example.com") }

  subject { @user }

  it { should respond_to(:name) }
  it { should respond_to(:email) }
end

モデルのテストは、仮にデータを作ってみて、設定した属性があるか、テストするのか。

データモデルは
rails g model User name:string email:string
で作ったから、その通り作れているかまずテストするんですね。

つか、テスト書いてからrails g modelすべきなんでしょう。テストはパスしました。

テストはいきなり、一段リファクタリングされた状態になっています。

ubject { @user }

it { should respond_to(:name) }

は、

it “should respond to ‘name'” do
expect(@user).to respond_to(:name)
end

をリファクタリングしたものです。

respond_toメソッドは、Rubyのrespond_to?を使っているそうです。

respond_to?(name, include_all = false) -> bool[permalink][rdoc]

オブジェクトがメソッド name を持つとき真を返します。

オブジェクトが メソッド name を持つというのは、 オブジェクトが メソッド name に応答することができることをいいます。

Windows での Process.fork や GNU/Linux での File.lchmod の ような NotImplementedError が発生する場合は false を返します。

メソッドが定義されていない場合は、Object#respond_to_missing? を呼 び出してその結果を返します。

[PARAM] name:
Symbol または文字列で指定するメソッド名です。
[PARAM] include_all:
private メソッドと protected メソッドを確認の対象に 含めるかを true か false で指定します。省略した場合 は false(含めない) を指定した事になります。

次は
6.2.2プレゼンスを検証する、
で、モデルにコードを書いてテストを書きます。

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

Chromeでの文字化けを対処しました。

WordPressで自作テンプレを作ってみたのはよいものの、困った問題が2つ。 …

パーフェクトRuby 2章Rubyの基礎 2-6 モジュール

p57 2-6 モジュール 2-6-1モジュールの定義式 モジュールはインスタン …

no image
RailsTutorial4.0を高速で復習する。5.3章。

5.3レイアウトのリンク、です。 AboutはRailsらしくない、とおっしゃっ …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

no image
RailsTutorial4.0を高速で復習する。4章と4.1章。

さて、4章です。4章ではRubyに関する内容が多かったような記憶が。 動的なWe …

no image
RailsTutorial4.0を高速で復習する。3.5章。最後の問題。

3.5演習、3もんめ、最後の問題です。 3.(上級者向け)「Heroku pag …

MacにGUIのSQLite3クライアントを入れる。

ターミナルからコマンドたたけばいいだけですが、DBスキーマをちょっと確認したいと …

no image
RailsTutorial4.0を高速で復習する。6.5章。

演習1問目。 リスト6.20の、メールアドレスを小文字に変換するコードに対するテ …

no image
「Follow me」バッジのつけ方。

ブログの横についている「Follow me」バッジ。いろんな方がつけているのを見 …

no image
RailsTutorial4.0を高速で復習する。9.1.2章。

9.1.2編集の失敗、です。 テストを書きます リスト9.9 ユーザーupdat …