カテゴリー:
Rails
タグ:
 Rspec described_class

このエントリーをはてなブックマークに追加
更新日時:
2013年08月06日(火)
作成日時:
2013年08月06日(火)

前の記事 / 次の記事

Rspecでメタプログラミング的なことをしようとした時に、
今テスト対象としているクラスが何であるのかを知りたい時がある。

もちろん、itの中では

it { subject.name }
#=> ApplicationController とか

と書ける、でも describe や context の中では??

describe ApplicationController do
  subject.name
end

とは書けない、itの中で書けと言われる。
でも、described_class を使うことで今テスト対象にしているクラスを知ることができる。

describe ApplicationController do
  self.described_class
  #=> ApplicationController
  # self は省略可能
end