¿Cómo puedo usar Mock Objects en mis pruebas unitarias y aún usar la Cobertura de código?

Actualmente estoy empezando a introducir el concepto de objetos simulados en mis pruebas unitarias. En particular, estoy usando el marco Moq. Sin embargo, una de las cosas que he notado es que de repente las clases que estoy probando usando este marco muestran una cobertura de código del 0%.

Ahora entiendo que, dado que me estoy burlando de la clase, no está ejecutando la clase en sí misma ... pero, ¿cómo escribo estas pruebas y hago que la Cobertura del Código arroje resultados precisos? ¿Tengo que escribir un conjunto de pruebas que usan simulacros y un conjunto para crear una instancia de la clase directamente.

¿Quizás estoy haciendo algo mal sin darme cuenta?

Aquí hay un ejemplo de mí tratando de probar la unidad en una clase llamada "MyClass":

using Moq;
using NUnitFramework;

namespace MyNameSpace
{
    [TestFixture]
    public class MyClassTests
    {

        [Test]
        public void TestGetSomeString()
        {
            const string EXPECTED_STRING = "Some String!";

            Mock<MyClass> myMock = new Mock<MyClass>();
            myMock.Expect(m => m.GetSomeString()).Returns(EXPECTED_STRING);

            string someString = myMock.Object.GetSomeString();

            Assert.AreEqual(EXPECTED_STRING, someString);
            myMock.VerifyAll();

        }

    }

    public class MyClass
    {
        public virtual string GetSomeString()
        {
            return "Hello World!";
        }
    }
}

¿Alguien sabe lo que debería estar haciendo de manera diferente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta