# File lib/test/unit/testcase.rb, line 249
        def test(*test_description_or_targets, &block)
          if block_given?
            test_description = test_description_or_targets.first
            if test_description.nil?
              raise ArgumentError, "test description is missing"
            end
            n_arguments = test_description_or_targets.size
            if n_arguments > 1
              message = "wrong number of arguments (#{n_arguments} for 1)"
              raise ArgumentError, message
            end
            method_name = "test: #{test_description}"
            define_method(method_name, &block)
            description(test_description, method_name)
            attribute(:test, true, {}, method_name)
          else
            targets = test_description_or_targets
            attribute(:test, true, {}, *targets)
          end
        end