1

我们在一个拥有许多离岸资源的大型团队中工作,其中大多数人处于初级水平,我们不希望完全了解如何使用 Spring AOP。尽管如此,我们仍然希望使用 Spring AOP,因为应用程序横切关注点的(由我们的客户)快速变化的性质。

我们关心的是确保建议按照我们的预期应用,这意味着:

  1. 确保它被应用到我们希望它应用到的方法上
  2. 它没有被应用于任何其他方法

最让我们担心的是,小辈们可能会做出改变,通过重命名方法之类的事情来打破我们的观点。此外,我们担心哪些通知会应用到哪里,因为一些异常服务应该回滚事务,而一些应该记录并继续执行,我们也希望使用 AOP 来实现。

因此,我们希望以编程方式测试 Spring AOP 建议的应用程序,但我们不确定如何最好地进行。

tl;dr:如何对应用程序进行单元测试 Spring AOP 建议的应用程序?


PS - 请不要在这里使用“单元”与“集成”测试的语义投诉。

4

1 回答 1

2

我能想到的最好的方法是一个 Spring 单元测试,并创建所有服务的模拟实现(有针对性的和非有针对性的),并将它们注入到单元测试中,然后将建议调用的服务也模拟进去,并且然后在每个服务上调用每个方法,然后验证是否调用了通知的模拟服务。对于每一个。单身的。方法。在每个。单身的。服务。:-S

希望有一些更高级别的工具,您可以在其中查询 Spring 以询问它在哪里应用,但到目前为止,我们还没有在任何教程中发现任何此类功能。

于 2013-09-20T14:38:20.657 回答