心はいつも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

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

  関連記事

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

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

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

7.6演習 1問目です。 リスト7.30のコードを使用して、7.1.4で定義され …

no image
Ruby1.9と2.0、複数バージョンのRubyをインストールする。

Ruby1.9 + Rails3.2もいいけど、Ruby2.0 + Rails4 …

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

3.1章は静的ページの追加。これをトップページとして後で色々追加していきます。 …

no image
WindowsのiTunesからMacのiTunesへのデータ移行

MacBookAir 2日め。なかなかMacにふみきれなかったのは、Window …

no image
RailsGirlsMore!でRailsTutorialのキモチワルイところがスッキリしました

RailsGirls松江からのぉ〜東京More!*既に2回目から1ヶ月半。またま …

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

9.2.2正しいユーザーを要求する、です。 テストを書く 自分以外の人がプロフィ …

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

11.2フォローしているユーザー用のWebインターフェイス、です。 モデルができ …

パーフェクトRuby 3章制御構造/メソッド/組み込み関数 3-2 基本的な制御構造

p75 3-2 基本的な制御構造 条件分岐、繰り返し、ジャンプ構文について 3- …

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

10.1.4マイクロポストを改良する、です。 has_many関連付けしたので、 …