Макет EntityEntry NHibernate - PullRequest
       9

Макет EntityEntry NHibernate

2 голосов
/ 02 апреля 2012

Я делаю некоторые модульные тесты для EntityEventListener из NHibernate, и я застрял, пытаясь высмеять FlushEvent или EntityEntry.

Поскольку EntityEntry не имеет открытого конструктора, а тип Mock должен быть интерфейсом, абстрактным или незапечатанным классом.

EntityEntry ee = new EntityEntry(); //NOT
_entityEntryMock = new Mock<EntityEntry>(); //NOT

1 Ответ

2 голосов
/ 04 апреля 2012

Без какой-либо детализации я не могу сказать, имеет ли это смысл для вас конкретно, но когда я сталкиваюсь с такой ситуацией (класс, который я не могу издеваться над Moq, и я не могу построить), я вызываюбольшие ружья с каркасом изоляции.Я обычно использую Moles , но есть и другие варианты, такие как Typemock Isolator, и я думаю, что Moles сам заменяется в следующей платформе .NET встроенным изолятором под названием «Fakes».Но достаточно сказать, что вы пытаетесь использовать Moq для чего-то, что не предназначено для этого - оно просто создает насмешки «естественным образом», не выступая в качестве инфраструктуры изоляции.

...