CSV出力の機能テスト
環境
- Ruby 1.9.1
- Rails 2.3.12
- テストコードというものを昨日しった拙者
例として、任意の年のアクセス数をcsv形式で出力するexportというアクションを機能テストしたい。そこで、選択可能な過去5年間についてリクエストをだして出力をテストする。
require 'test_helper'
class AccessCountsControllerTest < ActionController::TestCase
test 'export' do
((Date.today.year - 5)..(Date.today.year)).each do |year|
post(:export, {:year => "#{year}"})
assert_response :success
assert_not_nil @response.body
end
end
end
@response.bodyに出力された内容が入っているらしい。どうやら、JSON.parseやcsvのパーサを使うことで@response.bodyの中身を解析し、中身を詳細にテストすることもできるようだ。