Short term things to do: * Explicit => Explicitly DONE * Consolidate mock argument matching and spy argument matching * Consolidate mock block detection and spy block detection. * Consolidate the :on option with mocks * Pass through mode for partial mocks * Update readme * auto-mock class when using base_class IDEAS spy.should have_received(:foo).with(arg1, arg2) # PREFERRED spy.should have_received.foo(arg1, arg2) assert_called spy, :foo, arg1, arg2 assert_spy(spy).received(:foo).with(arg1, arg2)