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

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

  関連記事

コンビニで切れないiPhone充電ケーブル買った

iPhone充電に使うライトニングケーブルって高いのに切れ易く涙目。 こんな感じ …

パーフェクトRuby 2章Rubyの基礎 2-3 条件分岐と真偽値

p50 2-3 条件分岐と真偽値 falseとnil以外は全部true p51 …

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

6.2.5一意性を検証する、です。メールアドレスをIDとして使うため(でなくとも …

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

さてRailsTutorial4.0も5章に入ります。まだ序の口です。5章ではb …

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

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

初めてのRuby8章 8.4特異メソッドと特異クラス

特異メソッドと特異クラス プログラムなんて、クラスの継承だけで書けてしまうのが良 …

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

3.5章は演習です。3問でています。最初の問題をやります。 1.サンプルアプリケ …

no image
RailsTutorial4.0を高速で復習する。終わりました。

作りたいサービスがあってコーディング開始していたのですが、もう1回振り返り学習し …

rails gでのファイル名、クラス名、アクション名

rails gすると、コントローラーとアクションができますが、 その書き方とファ …

WordPress親テーマversion upに伴う、子テーマのバージョンアップ作業

WordPress子テーマの作り方で書いた通り、airpucciの現在のテーマは …