Moq не может создать фиктивный объект класса с параметром, допускающим значение NULL, в конструкторе

У меня есть этот класс:

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

Я пытаюсь издеваться над ним, используя MOQ вот так

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

или этот,

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

даже этот

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

Когда я пытаюсь получить такой объект

var objA = mockA.Object

, он выдает это исключение

Невозможно создать экземпляр прокси класса: TestClass. Не удалось найти конструктор, который бы соответствовал заданным аргументам: System.Int32, System.String

(для третьего генерирует исключение с нулевой ссылкой)

Как заставить его распознать, что первый аргумент имеет тип Nullable System.Int32, а не System.Int32.

(Пожалуйста, не обращайте внимания на то, что я издеваюсь над классом, а не над интерфейсом.)

7
задан labroo 16 June 2011 в 20:32
поделиться