解决方法
这里有三个不同的东西来测试:
您的切入点是否符合您的期望?
您的建议是否参考正确的切入点?
这个建议是否符合你的期望?
要测试切入点,您可以定义一些具有与实际目标相同的软件包/类型/方法签名的测试类型,然后根据切入点定义测试建议,以确保它们匹配(还可以定义一些应该“ t匹配,以确保切入点不会太宽松).我通常通过定义建议来对测试目标中的方法进行回调,设置一个标志,然后断言设置了标志.
测试建议是比较棘手的.我倾向于将所有的建议机构委托给正常的方法,然后专注于测试方法而不是建议.
如果你这样做,唯一缺失的是你的建议应用于正确的切入点,并实际调用方法.如果您担心这可能是一个问题,您可以通过创建与您的建议执行相匹配的另一个方面来实现此目的,并设置一个标志来显示该方面调用的预期委托方法,并重写该方法.