rspec test fails because of "unexpected arguments" while explicitly using ArgumentMatcher "anything()"
===

While using RSpec (2.10.0), machinist (2.0), rspec-rails (2.10.1) and rails (2.3.6) I am having issues using the RSpec::Mocks::ArgumentMatcher `anything`:

I have two `it` blocks using the matcher, while the first succeeds but the second raises the following error:

    Failure/Error: Post.make!(:community => @community)
    <Notification::Delayed (class)> received :create with unexpected arguments
    expected: (#<RSpec::Mocks::ArgumentMatchers::AnyArgMatcher:0x00000104eff8f8>, #<User ...> , "event", "interval")
    got: (#<Post>, <User...>, "event", "interval")

These are the it-blocks (i already changed their order, their precedence, started them independently and each in a single test run), but still no.1 passes and no.2 fails:

    it "should create a delayed notification per default" do
      Notification::Email.should_not_receive(:notification)
      Notification::Delayed.should_receive(:create).with(anything, user, "event", "interval")
      Post.make!(:community => @community)
    end

    it "should create a delayed notification on user request" do
      NotificationSetting.make! :user => user, :event => 'event', :role => 'community,moderators', :interval => 'interval'
      Notification::Email.should_not_receive(:notification)
      Notification::Delayed.should_receive(:create).with(anything, user, 'event', 'interval')
      Post.make!(:community => @community)
    end

I am totally stuck, how could that happen, that this Error even happens? Doesn't the [doc in its "Argument Matchers' section][1] say, that "argument can be anything at all" - so how can there be such an error?
And the next thing that creeps me, is my shiftlessness about the appearance of the error in the second context not in the first. Shouldn't it fail on both at least?

Any help is very much appreciated


  [1]: http://rubydoc.info/gems/rspec-mocks/frames