Comment puis-je utiliser des objets factices dans mes tests unitaires et toujours utiliser la couverture de code?

Actuellement, je suis en commençant à introduire le concept d'objets Fantaisie dans mes Tests Unitaires. En particulier, je suis en utilisant le Moq cadre. Cependant, une des choses que j'ai remarqué, c'est que, soudain, les cours que je suis en essais à l'aide de ce cadre sont montrant la couverture de code de 0%.

Maintenant, je comprends que depuis que je suis tout juste de se moquer de la classe, ce n'est pas l'exécution de l'effectif de la classe elle-même....mais comment puis-je écrire ces tests et ont de Couverture de Code de retour des résultats précis? Dois-je écrire un ensemble de tests qui utilisent des objets fantaisie et un jeu d'instancier la classe directement.

Peut-être que je fais quelque chose de mal sans s'en rendre compte?

Voici un exemple de moi en essayant de Test de l'Unité d'une classe appelée "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!";
        }
    }
}

Personne ne sait ce que je dois faire différemment?

source d'informationauteur mezoid