テスト駆動-02ユニットテスト
$ruby script/generate migration expand_text
/002_expand_text.rb
class ExpandText < ActiveRecord::Migration def self.up change_column :members, :text, :string, :limit => 8 end def self.down change_column :members, :text, :string, :limit => 16 end end
/test/unit/member_test.rb
require File.dirname(__FILE__) + '/../test_helper' class MemberTest < Test::Unit::TestCase fixtures :members # Replace this with your real tests. def test_truth assert true end def test_text_length members(:one).text = '+' * 256 assert members(:one).valid?, 'for 16 chars' members(:one).text = '+' * 257 assert members(:one).valid?, 'for 17 chars' end end
エラーがなければ、下記のような形になります。
$ rake test:units (in /Users/mono/dev/rails/chap0425) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I"/Users/mono/dev/rails/chap0425/lib" -I"/Users/mono/dev/rails/chap0425/test" "/Library/Ruby/Gems/1.8/gems/rake-0.8.4/lib/rake/rake_test_loader.rb" "test/unit/member_test.rb" Loaded suite /Library/Ruby/Gems/1.8/gems/rake-0.8.4/lib/rake/rake_test_loader Started .. Finished in 0.054064 seconds. 2 tests, 3 assertions, 0 failures, 0 errors mono-no-macbook:chap0425 mono$