2010-07-16 2 views
2

В настоящее время я пытаюсь выполнить один из моих модульных тестов, но есть одна вещь на пути. У меня есть класс под названием AccountingScheduleLookup, который имеет прикрепленное к нему поле идентификатора, которое доступно только для чтения. Когда я пытаюсь высмеять вызов метода, который использует это поле ID, он бросает мне прекрасное исключение NullReferenceException в этой конкретной строке кода. Это означает, что либо идентификатор не был назначен ему, либо объект не был создан.Помогите мне избежать этого исключения NullReferenceException (используя Rhino Mocks)

Однако, когда я включил базовую инстанцию, это все равно исключило меня. Любые идеи о том, как обойти это?

Вот пример кода (для чего это стоит)

AccountingScheduleLookup = new AccountingSchedule { Description = "Will this work?" } 
var calendarPeriods = dal.GetObjects<AccountingScheduleDetail>(
    Where.Property("AccountingScheduleID").Is(AccountingScheduleLookup.AccountingScheduleID)); 
+8

You может начать с показа кода, который вы пытаетесь проверить. Таким образом, вы значительно увеличите свои шансы на получение правильного ответа. –

+0

может быть более подробная информация? – Grzenio

+1

Вы используете Rhino.Mocks где-то? Я не вижу этого в этом фрагменте кода. – PatrickSteele

ответ

1

Типичное применение носорога издевается предполагает создание ожидание того, что, когда это свойство получено оно возвращает определенное значение.

Вот краткий справочник по последней версии носорога иронизирует:

http://www.ayende.com/wiki/GetFile.aspx?File=Rhino+Mocks+3.3+Quick+Reference.pdf

Вот раздел, который, скорее всего, относятся к вам:

Недвижимость Getters

Expect.Call(foo.Name).Return("Bob"); 
+0

Последняя версия Rhino Mocks на самом деле 3.6. 3.3 вышел в октябре 2007 года, а 3,6 вышел в сентябре 2009 года. –