UPDATE: Since version 3, check the update to the question above or Dann's answer below.
Either, make your mock strict so it will fail if you call a method for which you don't have an expect
Or, if you want your mock to be loose, use the .Throws( Exception )
var m = new Mock<IMoq>(MockBehavior.Loose); m.Expect(a => a.moo()).Throws(new Exception("Shouldn't be called."));
Run a verify after the test which has a
Times.Never enum set. e.g.
_mock.Object.DoSomething() _mock.Verify(service => service.ShouldntBeCalled(),Times.Never());