0

我找不到有关测试AppDynamics代理配置的任何信息。JUnit我想测试由数据库Spring支持的基于 Web 服务的 Hibernate 查询的性能。PostgreSQL测试必须能够在终止时回滚数据。

应该是单元测试还是集成测试?实现它的最佳方法是什么?如何制作AppDynamics查询执行时间的收集和显示图表?

更新:

我无法在 IDEA 中为 JUnit 测试设置 addDynamics 代理。VM 参数指向 agent -javaagent:"C:\Tools\AppDynamicsAgent\javaagent.jar",防火墙已关闭,但由于某种原因,在基于 web 的 appdynamics (SaaS) 设置对话框中显示没有代理能够连接:

在此处输入图像描述

4

2 回答 2

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 应用程序,它会为您进行性能测试,并将结果作为 URL 请求公开,以便在 HTML 中显示。真的只是取决于你愿意花多少精力和你想测试什么。

于 2016-11-06T23:40:56.900 回答
0

附加代理后,您可以使用AppDynamics 数据库查询窗口

于 2020-10-09T13:13:06.620 回答