cheat sheets.

$ cheat mocha
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

Expection Methods:
  at_least(minimum) 
    Modifies expectation so that the expected method must be called at least a
    minimum number of times.

  at_least_once
    Modifies expectation so that the expected method must be called at least
    once.

  never
    Modifies expectation so that the expected method must never be called.

  raises(exception = RuntimeError, message = nil)
    Modifies expectation so that when the expected method is called, it raises
    the specified exception with the specified message.

  returns(value)
    Modifies expectation so that when the expected method is called, it returns
    the specified value.

  times(range)
    Modifies expectation so that the number of calls to the expected method must
    be within a specific range.

  with(*arguments, &block)
    Modifies expectation so that the expected method must be called with
    specified arguments.

  yields(*parameters)
    Modifies expectation so that when the expected method is called, it yields
    with the specified parameters.
Version 1, updated 842 days ago.
. o 0 ( edit | history )
( add new | see all )