2016-11-06 51 views
0

我无法找到有关配置AppDynamics代理JUnit测试的任何信息。我想测试基于PostgreSQL数据库支持的基于Spring的Web服务的Hibernate查询的性能。测试必须能够在终止处回滚数据。如何配置AppDynamics来测量Hibernate查询的执行时间?

它应该是单元测试还是集成测试?完成它的最好方法是什么?如何使AppDynamics收集并显示查询执行时间的图形?

UPDATE:

我是不是能够成立addDynamics剂内IDEA JUnit测试。 VM参数是指向代理-javaagent:"C:\Tools\AppDynamicsAgent\javaagent.jar",防火墙关闭,但在appdynamics网络因故基础(SaaS)的设置对话框显示没有能够代理连接:

enter image description here

回答

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中添加一些安全代码,以确保不会发生。

对于性能测试,您真的需要弄清楚您想要达到的目标以及显示的内容。如果你有关于性能测试的具体问题,你可以问,否则它是太广泛的话题。

也许你可以制作一个迷你web应用程序,它可以为你做性能测试,并将结果公开为以HTML格式显示的URL请求。真的只是取决于你愿意花多少努力以及你想要测试什么。