Moh Rhino: Синтаксис теста AAA без статических методов MockRepository?

Я использовал (и мне нравится) новый синтаксис Rhino Mocks AAA. Однако, одна вещь, которая озадачивает меня, - то, что я должен создать свои окурки и насмешки как это:

var v1 = MockRepository.GenerateStub<MyClass>();

вместо с созданным экземпляром MockRepository:

var mr = new MockRepository();
var v1 = mr.GenerateStub<MyClass>();

Этот синтаксис облегчит переход моих модульных тестов.

После прочтения вики Ayende кажется, что второй синтаксис должен работать, но я просто не могу заставить его работать правильно. Если я делаю это таким образом, то мне приходится использовать блоки записи /воспроизведения. Я также не могу найти в Интернете ни одного примера того, кто использует новый синтаксис без статических методов.

Итак, мой вопрос: кому-нибудь еще удалось заставить работать синтаксис AAA без использования статических методов и без необходимости использовать запись /воспроизведение? Если да, то чего мне не хватает?

4 голоса | спросил George Mauer 23 TueEurope/Moscow2008-12-23T00:19:29+03:00Europe/Moscow12bEurope/MoscowTue, 23 Dec 2008 00:19:29 +0300 2008, 00:19:29

1 ответ


0

Я проверил насмешки носорога с помощью отражателя.

MockRepository.GenerateStub фактически создает хранилище и вызывает нестатическую заглушку. Вот что на самом деле делают статические методы (скопировано с отражателя)

public static object GenerateStub(Type type, params object[] argumentsForConstructor)
{
    MockRepository repository = new MockRepository();
    object obj2 = repository.Stub(type, argumentsForConstructor);
    repository.Replay(obj2);
    return obj2;
}

Похоже, вы пропустили вызов Repository.Replay в своем коде.

ответил Mendelt 23 TueEurope/Moscow2008-12-23T16:11:05+03:00Europe/Moscow12bEurope/MoscowTue, 23 Dec 2008 16:11:05 +0300 2008, 16:11:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132