[TestClass] public class when_foo_is_invoked : ContextSpecification { protected FooService Service; protected string Result; //"arrange" protected override void Context() { var repository = new Mock(); .. mock setup code goes here .. Service = new FooService(repository); } //"act" protected override void Because() { Result = Service.Foo(); } //"assert" [TestMethod] public void should_return_foo() { Assert.AreEqual(expected: "Foo", actual: Result); } }