Sha256: 6ab28a535cc73728df90f9e096f49938ff1a8bed0a52828c67308b2f3b74833e

Contents?: true

Size: 1012 Bytes

Versions: 55

Compression:

Stored size: 1012 Bytes

Contents

# Mocking a class method

  product = Product.new
  Product.expects(:find).with(1).returns(product)
  assert_equal product, Product.find(1)

# Mocking an instance method on a real object

  product = Product.new
  product.expects(:save).returns(true)
  assert product.save

# Stubbing instance methods on real object

  prices = [stub(:pence => 1000), stub(:pence => 2000)]
  product = Product.new
  product.stubs(:prices).returns(prices)
  assert_equal [1000, 2000], product.prices.collect {|p| p.pence}

# Stubbing an instance method on all instances of a class

  Product.any_instance.stubs(:name).returns('stubbed_name')
  product = Product.new
  assert_equal 'stubbed_name', product.name

# Traditional mocking

  object = mock()
  object.expects(:expected_method).with(:p1, :p2).returns(:result)
  assert_equal :result, object.expected_method(:p1, :p2)

# Shortcuts

  object = stub(:method1 => :result1, :method2 => :result2)
  assert_equal :result1, object.method1
  assert_equal :result2, object.method2

Version data entries

55 entries across 55 versions & 5 rubygems

Version Path
greatseth-google-geo-2.0 vendor/mocha-0.4.0/examples/misc.rb
greatseth-google-geo-2.1 vendor/mocha-0.4.0/examples/misc.rb
greatseth-google-geo-2.2 vendor/mocha-0.4.0/examples/misc.rb
redcar-dev-0.12.1dev-java lib/openssl/mocha/examples/misc.rb
redcar-dev-0.12.0dev-java lib/openssl/mocha/examples/misc.rb
redcar-0.11 lib/openssl/mocha/examples/misc.rb
redcar-0.11.0dev lib/openssl/mocha/examples/misc.rb
redcar-0.10 lib/openssl/mocha/examples/misc.rb
redcar-0.9.2 lib/openssl/mocha/examples/misc.rb
redcar-0.9.1 lib/openssl/mocha/examples/misc.rb
redcar-0.9.0 lib/openssl/mocha/examples/misc.rb
redcar-0.8.1 lib/openssl/mocha/examples/misc.rb
redcar-0.8 lib/openssl/mocha/examples/misc.rb
redcar-0.7 lib/openssl/mocha/examples/misc.rb
redcar-0.6.1 lib/openssl/mocha/examples/misc.rb
redcar-0.6 lib/openssl/mocha/examples/misc.rb
redcar-0.6.1dev lib/openssl/mocha/examples/misc.rb
redcar-0.5.1 lib/openssl/mocha/examples/misc.rb
redcar-0.5 lib/openssl/mocha/examples/misc.rb
redcar-0.5.6dev lib/openssl/mocha/examples/misc.rb