Me ajudar a evitar esse NullReferenceException (usando Rhino Mocks)
-
16-09-2020 - |
Pergunta
Atualmente estou tentando pegar um dos meus testes de unidade para o trabalho, mas há uma coisa no caminho.Eu tenho uma classe chamada AccountingScheduleLookup que tem um campo de IDENTIFICAÇÃO anexado a ele, que é só de leitura.Quando eu tento simulação de uma chamada para um método que utiliza este campo ID lança-me uma bela NullReferenceException em que determinada linha de código.Isso significa que a IDENTIFICAÇÃO não foi atribuída a ele, ou o objeto não foi instanciado.
Quando eu colocar em uma base de instanciação, porém, ele ainda jogou-me a exceção.Alguma idéia de como contornar isso?
Aqui está um exemplo de código (por que vale a pena)
AccountingScheduleLookup = new AccountingSchedule { Description = "Will this work?" }
var calendarPeriods = dal.GetObjects<AccountingScheduleDetail>(
Where.Property("AccountingScheduleID").Is(AccountingScheduleLookup.AccountingScheduleID));
Solução
O uso típico de rinoceronte zomba poderia envolver a criação de uma expectativa de que quando essa propriedade é acessado retornar um determinado valor.
Aqui é uma referência rápida para a versão mais recente do rinoceronte zomba:
http://www.ayende.com/wiki/GetFile.aspx?File=Rhino+Mocks+3.3+Quick+Reference.pdf
Aqui é a seção que provavelmente pertencem a você:
Propriedade Getters
Expect.Call(foo.Name).Return("Bob");