【发布时间】:2012-03-23 00:28:49
【问题描述】:
我们的 Java 应用程序有许多实现通用接口的模块。根据设计,每个模块都封装良好且可互换。所有来往/来自的调用都通过一小组接口进行。
我们需要检测这个机制来添加,
- 以结构化格式记录方法调用和结果
- 在调试问题或测试修复时针对模块重放这些调用。
- (非常有用)将记录的交互用作“预期”结果,在运行 JUnit 测试时将它们与“实际”进行比较。
- (可能应该有)完全线程安全。
有推荐的选项吗?
我看了几个选项:
- Chronon - 看起来是一个不同的概念。 'No code of your program is being executed when you playback the recordings'
- JSnoopy,SCARPE上的一些学术论文;这些似乎不是公共项目?
- 手写使用 AspectJ 捕获呼叫 - 应该可以,但我想知道是否有现成的东西。
【问题讨论】:
-
我遇到了类似的问题。可以使用testrecorder 进行录制和回放。有关详细信息,请参阅stackoverflow.com/a/46680587/4497253。
-
@lain 你好lain,你有没有想过这个问题?我正在开发一个非常相似、几乎完全相同的功能来测试我的一些项目,如果你有任何运气,请告诉我。我手动编写了一些代码来执行此操作,但是记录广泛执行的方法以及具有许多间接类实例输入的方法非常耗时。
-
嗨@HuadongFeng - 不,我放弃了这个想法(并离开了那个项目)。也许 CoronA 的链接对您有用。
-
@lain,非常感谢您的回复,我会查看 CoronA 的回复。
标签: java profiling aspectj aop