心はいつも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を高速で復習する。7.6章。演習。

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

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

9.3すべてのユーザーを表示する、です。 いろいろ細かい実装するまえにこれやるべ …

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

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

no image
future vision 2019 vs 2010

マイクロソフトのfuture visonが話題らしい。 2019年の近未来。 情 …

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

6.3セキュアなパスワードを追加する、です。 パスワードはセキュアであるべきと思 …

no image
@で始まるのが インスタンス変数

@ で始まるのが インスタンス変数 大文字で始まるのが 定数 文法書のどこに書い …

Macにコマンドラインツールをインストールする

Mac miniのメモリが16Mになったので、気分も新たに、Ruby on Ra …

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

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

no image
Google Appsで問い合わせフォームを作りました

とっても簡単でした。Google Appsでこのブログに問い合わせフォームを設置 …

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

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