Moq kann nicht erstellt mock-Objekt der Klasse mit nullable-parameter in den Konstruktor

Habe ich diese Klasse:

public class TestClass
{
 public TestClass(int? foo, string bar)
 {
   //..Something
 }
}

Ich versuche, mich zu verspotten, es mit MOQ wie diese

var mockA = new Mock<A>(new object[] {(int?)1, string.Empty})

oder so,

var mockA = new Mock<A>(new object[] {1 as int?, string.Empty})

selbst diese

var mockA = new Mock<A>(new object[] {(int?)null, string.Empty})

Wenn ich versuche mir das Objekt wie dieses

var objA = mockA.Object

wirft er diese exception

Kann nicht proxy instanziieren der Klasse: TestClass.
Konnte nicht finden einen Konstruktor, der würde mit angegebenen Argumenten:
System.Int32,
System.String

(für die Dritte wirft es null-Referenz-Ausnahme)

Wie man es erkennt, das erste argument vom Typ Nullable-System.Int32 und nicht das System.Int32.

(Bitte ignorieren, ich bin mocking eine Klasse und kein interface.)

  • Hinweis: dieses Problem existiert nicht in Moq 4.0
InformationsquelleAutor labroo | 2011-06-16
Schreibe einen Kommentar