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

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

  関連記事

attr_accessorでRuby文法を噛み締める

作りたいwebアプリがあって、プログラムやろう!となって現在にいたってる訳です。 …

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

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

no image
RailsTutorial4.0を高速で復習する。5.6章。演習3問目。

5章最後の演習、3問目です。 リスト5.38に示すように、元のヘルパーメソッドに …

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

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

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

3.2章は最初のテストです。 Railsチュートリアルは、アプリケーションの振る …

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

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

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

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

詳解 Objective-C 2.0 第3版 CHAPTER3 継承とクラス

[]多用といいメッセージキーワードといい、やっぱObjective-Cってキモチ …

WordPressの管理画面真っ白問題に対処しました

WordPressの自作テンプレを作ったはいいものの、管理画面が真っ白になって投 …

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

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