You are not using Machine.Fakes the way it is intended. It is an extension of Machine.Specifications and does not make sense without it. You are using some other test framework in your code example. This incompatibility has nothing to do with the version - apart from the explicit error message that has been introduced.
To expand on shamp00's answer:
using System;
using Machine.Fakes;
using Machine.Specifications;
namespace SOAnswers
{
[Subject(typeof(MailSender), "Sending an Email")]
public class When_no_receivers_are_specified : WithSubject<MailSender>
{
static Exception exception;
Because of = () =>
exception = Catch.Exception(() => Subject.Send(string.Empty, string.Empty, receivers: null));
It should_throw_an_exception = () =>
exception.ShouldBeOfType<ArgumentException>();
}
}
I think this is very expressive. :-) However, if you don't want to use Machine.Specifications, I suppose you should look for an automocking framework that fits better.