Como faço para que um método de stub chame o método real no ASMock?
-
12-11-2019 - |
Pergunta
No flex, quero fazer algo semelhante ao seguinte
var audioPlayerMock:AudioPlayer = AudioPlayer(mockRepository.createStub(mockRepository.createStub(AudioPlayer));
SetupResult.forCall(audioPlayerMock.play).(CALL_ACTUAL_PLAY_METHOD(WITH_ARGUMENT));
AudioPlayer tem muitos métodos que eu quero esboçar (então eu uso mockRepository.creatStub()
).Mas existe um método, play()
, que quero chamar de método real (super.play(argument)
se meu pensamento estiver certo).Não tenho certeza de como fazer isso?
eu sei que posso usar createDynamic(AudioPlayer)
em seguida, elimine todos os outros métodos, mas isso é um pouco tedioso.
Saúde
Solução
Você pode usar IMethodOptions.callOriginalMethod()
para chamar a implementação real em uma classe stub:
SetupResult.forCall(authatoPlayerMock.play(null))
.ignoreArguments()
.callOriginalMethod();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow