Module: Shoulda::InstanceMethods
- Included in:
- Test::Unit::TestCase
- Defined in:
- lib/shoulda/context.rb
Instance Method Summary collapse
-
#get_instance_of(object_or_klass) ⇒ Object
:nodoc:.
-
#instance_variable_name_for(klass) ⇒ Object
:nodoc:.
-
#subject ⇒ Object
Returns an instance of the class under test.
-
#subject_block ⇒ Object
:nodoc:.
Instance Method Details
#get_instance_of(object_or_klass) ⇒ Object
:nodoc:
257 258 259 260 261 262 263 |
# File 'lib/shoulda/context.rb', line 257 def get_instance_of(object_or_klass) # :nodoc: if object_or_klass.is_a?(Class) object_or_klass.new else object_or_klass end end |
#instance_variable_name_for(klass) ⇒ Object
:nodoc:
265 266 267 |
# File 'lib/shoulda/context.rb', line 265 def instance_variable_name_for(klass) # :nodoc: klass.to_s.split('::').last.underscore end |
#subject ⇒ Object
Returns an instance of the class under test.
class UserTest
should "be a user" do
assert_kind_of User, subject # passes
end
end
The subject can be explicitly set using the subject class method:
class UserTest
subject { User.first }
should "be an existing user" do
assert !subject.new_record? # uses the first user
end
end
The subject is used by all macros that require an instance of the class being tested.
249 250 251 |
# File 'lib/shoulda/context.rb', line 249 def subject @shoulda_subject ||= construct_subject end |
#subject_block ⇒ Object
:nodoc:
253 254 255 |
# File 'lib/shoulda/context.rb', line 253 def subject_block # :nodoc: (@shoulda_context && @shoulda_context.subject_block) || self.class.subject_block end |