我正在尝试为旧框架实现一些单元测试.我试图模拟出数据库层.不幸的是,我们的框架有点陈旧,并没有完全采用最佳实践,因此没有明确的关注点分离.我有点担心试图模拟数据库层可能会使JVM加载大量甚至无法使用的类.
我不太了解类加载器,所以这可能不是问题.有没有办法在特定ClassLoader加载的所有类中达到峰值,以证明引擎盖下发生了什么?
那个问题讨论了通过java -verbose:class选项获取运行时使用的所有类的列表.
我感兴趣的是自动构建包含我的类的JAR文件,以及它们依赖的所有其他类.通常,这将是我使用来自某些第三方开源产品的"客户端逻辑"的代码,但他们没有提供一组干净的客户端API对象.他们的完整代码集在服务器端,但我只需要必要的客户端位.
这似乎是一个常见的问题,但我没有看到任何东西(例如在Eclipse中)有助于此.我错过了什么吗?
当然我仍然可以通过以下方式手动完成:咬住子弹并将所有第三方代码包含在一个巨大的JAR中(冒犯我的纯粹主义情绪)/源代码演练/试验和错误/ -verbose:类型类型的东西(但后者不会例如,我的代码作为J2EE servlet的一部分运行,因此我只希望在给定的Tomcat webapp中看到这个,并且理想情况下,仅针对与我的类相关的类.