2010-05-05 3 views
3

Я использую Unity, чтобы сделать АОП, может кто-нибудь дать мне некоторое представление о том, как их проверить?Как выполнить тестирование AOP?

+0

Вы нашли конкретный способ сделать это? Я прочитал ответ, но это не очень ясно? –

ответ

1

Реализована ли ваша реализация «аспект», которая реализует ICallHandler (или очень похожа на IInterceptionBehavior в Unity 2.0) и уже добавлена ​​в конвейер выполнения перехваченного объекта?

Если это так, вы можете протестировать его отдельно. То, что вы тестируете, - это метод Invoke - назовите его с помощью mock, созданного для IMethodInvocation, настроенного для состояния вашего объекта перед вызовом аспекта и с помощью GetNextHandlerDelegate, чтобы имитировать объект, созданный для представления вашего перехваченного вызова объекта.

Вы можете утверждать:

  • на цели делегата, если сделаны соответствующие вызовов - т.е. тест ли формат изображение breks/не нарушает исполнения должным образом, то ли вызов были правильно аргументов изменены и т.д.
  • на результат Invoke «s (IMethodReturn объекта) - то есть тест, был ли правильно измененном результат возвращения, ли было брошено исключение и т.д.
Смежные вопросы