Comment écrire stub méthode avec NUnit en C#

J'ai 2 classes:

  • FirstDeep.cs
  • SecondDeep.cs

    J'ai fait simple code pour l'exemple:


class FirstDeep
    {
        public FirstDeep() { }

        public string AddA(string str)
        {
            SecondDeep sd = new SecondDeep();
            bool flag = sd.SomethingToDo(str);

            if (flag == true)
                str = string.Concat(str, "AAA");
            else
                str = string.Concat(str, "BBB");

            return str;
        }
    }

et

class SecondDeep
    {
        public bool SomethingToDo(string str)
        {
            bool flag = false;
            if (str.Length < 10)
            {
                //todo something in DB, and after that flag should be TRUE
            }
            return flag;
        }
    }

Alors je veux écrire unité de test pour la méthode "AddA":

class Tests
    {
        [Test]
        public void AddATest()
        {
            string expected = "ABCAAA";

            FirstDeep fd = new FirstDeep();
            string res = fd.AddA("ABC");

            Assert.AreEqual(expected, res);
        }
    }

Et après que j'ai de la difficulté, je ne sais pas comment corriger écrire stub pour la méthode SomethingToDo dans ma classe de Test. J'ai toujours faux. Je dois retourner la valeur TRUE. Mais comment?

vous pouvez toujours travailler avec votre modèle: introduire bool expected = false; SecondDeep sd = new SecondDeep(); bool actualResult = sd.SomethingToDo("ABC"); Assert.AreEqual(excpected, actualResult); ...!? si ce n'est pas meed à vos besoins, vous devriez probablement envisager d'élaborer et d'améliorer votre question!
Avez-vous réglé votre code? Si ça se passe dans la base de données, nous ne pouvons pas vous aider car nous n'avons pas de détails de ce qui s'y passe.
Oui, j'ai réglé mon code, et où j'ai écrit: "//todo quelque chose dans la DB, et après que le drapeau doit être VRAI", j'ai l'aide de la classe MembershipUser .NET et cette méthode ne peut pas se connecter à la DB, c'est pourquoi j'ai juste retour de vrai sur cette affaire.

OriginalL'auteur Smit | 2012-05-08