Moq Prüfung void-Methode

Hallo ich bin neu Moq testen und harte Zeit zu tun, eine einfache Behauptung.
Ich bin über eine Schnittstelle

 public interface IAdd
 {
     void add(int a, int b);
 }

Moq für die IAdd Schnittstelle:

  Mock<IAdd> mockadd = new Mock<IAdd>();
  mockadd.Setup(x => x.add(It.IsAny<int>(), It.IsAny<int>()).callback((int a, int b) => { a+b;});
  IAdd testing = mockadd.Object;

Da die add Methode ist nichtig, es kommt nicht jeden beliebigen Wert zu versichern. Wie kann ich behaupten, dieses setup?

  • Was wollen Sie testen?
  • Ich bin versucht, um zu testen, dass die add-Methode, aber es hat keinen Rückgabetyp. Wenn es int als Rückgabetyp, würde ich prüfen, Geltend zu machen.AreEqual(mockadd.add(2,2), 4); Aber ohne Rückgabetyp wie kann ich testen Sie die add-Methode.
  • 1. Es macht keinen Sinn zu testen, ein interface (oder ein mock-Implementierung). 2. Wenn Sie eine Klasse haben berechnet, dass etwas, möchten Sie vielleicht, um das Ergebnis zur Verfügung irgendwie (entweder über return-Wert oder eine Eigenschaft auf das Objekt)
  • Seltsam, Fügen Sie nichts zurückgibt ??? Brauchen, um für eine bessere Methode den Namen.
InformationsquelleAutor J. Davidson | 2013-02-25
Schreibe einen Kommentar