1

私はすべてのテストファイルにいくつかの定数を提供しようとしていますが、rspecを使用してこれを行うための最良の方法がわかりません。この方法は、インスタンス変数を宣言するよりもベストプラクティスでしょうか?ありがとうございました!

require File.join(File.dirname(__FILE__), '..', 'app.rb')
require 'rack/test'

set :environment, :test
set :run, false
set :raise_errors, true
set :logging, false

def access_token
   "xxxxx"
end

def api_token
  "xxxxx"
end

def app
   Sinatra::Application
end

RSpec.configure do |config|
  config.include Rack::Test::Methods
end

#no database debug messages
ActiveRecord::Base.logger.level = Logger::INFO
4

1 に答える 1

0

RSpec は、仕様のデータを定義する方法を制限しません。通常のメソッド、定数、ローカル、インスタンス、またはクラス変数などを使用できます。最も適切なソリューションを選択するのは本当にあなた次第です。

標準の Ruby とは別に、RSpec は、テストでサブジェクト共同作業者を明示的に指定することもサポートしています。

個人的には、subject(:app)テスト対象のオブジェクト、let共同作業者 (主にクラス)、ブロック内または仕様内のローカル変数とインスタンス変数を使用しbeforeて、ユーザー名やパスワードなどの単純なものと、より複雑なオブジェクトをセットアップするための (ファクトリー) メソッドを使用します。

于 2013-02-24T14:03:11.193 に答える