Попытка получить мою голову вокруг asmock для реализации некоторых модульных тестов в моем проекте. Я хочу проверить свой MainMediator, и поскольку есть объекты, которые создаются в моем вызове MainMediator onRegister, я думаю, что я должен издеваться над этими объектами. Надеюсь, это правильно для начала!asmock Предыдущий метод требует возвращаемого значения или исключения для throw
У меня есть что-то вроде этого
[Rule] public var includeMocks : IncludeMocksRule = new IncludeMocksRule([
IEventDispatcher, IMyService
]);
[Before]
public function setUp():void {
mockRepository = new MockRepository();
mainView = new MainView();
mainMediator = new MainMediator();
dispatcher = IEventDispatcher(mockRepository.createStub(IEventDispatcher, StubOptions.NONE));
myService = IMyService(mockRepository.createStub(IMyService, StubOptions.NONE));
mockRepository.stubEvents(dispatcher);
SetupResult.forCall(chatService.clientID)
.returnValue("");
mockRepository.replayAll();
mainMediator.eventDispatcher = dispatcher;
myService.eventDispatcher = dispatcher;
mainMediator.service = myService;
....
mainMediator.onRegister();
}
Когда я пошагово испытания и остановок на mockRepository.stubEvents (диспетчер). Я вижу ошибки в классе myService Error: Previous method IMyService/clientID/get(); requires a return value or an exception to throw
. clientID просто оказывается моим первым свойством, поэтому его выбирают.
Я думал, что StubOptions.NONE будет означать, что никакие свойства не будут заштрихованы или что мой SetupResult.forCall (myService.clientID) исправит это, но никто этого не сделал.
Отвечая на вопрос в комментариях Re: EventDispatcher, у меня есть:
MyService extends ServiceBase implements IMyService
где ServiceBase extends Actor
я обнаружил, что мне нужно следующее IMyService, чтобы получить доступ к EventDispatcher.
function get eventDispatcher():IEventDispatcher;
function set eventDispatcher(dispatcher:IEventDispatcher):void;
Не слишком уверен, что это правильно. Немного путайте сейчас.
Может кто-нибудь, пожалуйста, скажите мне, где я иду не так? Спасибо!
Откуда «myService eventDispatcher»? –