我无法找到有关AppDynamics
测试JUnit
代理配置的任何信息。我想测试Spring
数据库支持的基于PostgreSQL
的Web服务的Hibernate查询的性能。测试必须能够在终止时回滚数据。
它应该是单元测试还是集成测试?完成它的最佳方法是什么?如何使AppDynamics
收集并显示查询执行时间图?
更新:
我无法为IDEA中的JUnit测试设置addDynamics代理。 VM参数指向代理-javaagent:"C:\Tools\AppDynamicsAgent\javaagent.jar"
,防火墙已关闭,但出于某种原因,appdynamics基于Web(SaaS)设置对话框显示没有代理能够连接:
答案 0 :(得分:0)
您需要进行单元测试和集成测试。单元测试不应该在数据库或文件等中使用。我喜欢使用Spring配置文件进行测试。例如,如果我有一个名为integeration_test的配置文件。
@ActiveProfiles("integeration_test")
@ContextConfiguration(locations = {
"classpath:you-context.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public abstract class DaoTest
{
@Autowired
protected DataSource dataSource;
// delete all your stuff here
protected void clearDatabase()
{
JdbcTemplate jdbc = new JdbcTemplate(dataSource);
jdbc.execute("delete table");
}
@Before
public final void init()
{
clearDatabase();
}
@After
public final void cleanup()
{
clearDatabase();
}
}
(我正在使用xml)然后在您的上下文中执行以下操作:<beans profile="test">TODO </beans>
并在那里配置您的数据源。
我知道有一些方法可以在运行测试后回滚所有事务,但我更喜欢这样做。只是不要删除真实数据库中的所有内容哈哈,甚至可以在clearDatabase中放置一些安全代码,以确保不会发生。
对于性能测试,您确实需要弄清楚要实现的目标以及显示的意义。如果您有关于性能测试的特定问题,您可以问这个问题,否则它的主题会过于宽泛。
也许您可以制作一个mini-webapp,它会为您进行性能测试,并将结果公开为以HTML格式显示的URL请求。真的只取决于你愿意花多少钱和你想要测试的东西。
答案 1 :(得分:0)
与代理连接后,您可以使用AppDynamics Database Queries Window