require 'test/unit'
require 'mock'
class AddUserActionText < Test::Unit::TestCase
def test_system_error
# set up
mock_dao = Mock.new
action = AddUserAction.new
action.user = "haru01"
action.dao = mock_dao
# expectations
mock_dao.__next(:add){
|user| raise Errno::ENOENT, "not found text"
}
assert_raise(RuntimeError) {
action.execute
}
# execute
mock_dao.__verify
end
end
class AddUserAction
attr_accessor :user
attr_accessor :dao
def execute
begin
dao.add(user)
rescue
raise "can't add user becouse dao error"
end
end
end