2016-11-06 7 views
0

JUnit試験のAppDynamicsエージェントの設定に関する情報が見つかりませんでした。 PostgreSQLデータベースを基にしたSpringベースのWebサービスのHibernateクエリのパフォーマンスをテストしたいと思います。テストでは、終了時にデータをロールバックできる必要があります。Hibernateクエリの実行時間を測定するAppDynamicsの設定方法は?

ユニットテストまたは統合テストである必要がありますか?それを達成する最善の方法は何ですか? AppDynamicsにクエリ実行時間のグラフを収集して表示させる方法は?

UPDATE:

私は、IDEA内部のJUnitテストのためaddDynamicsエージェントを設定することができませんでした。 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に安全コードを入れて、それが起こらないことを確認することもできます。

パフォーマンステストのために、達成したいことと表示する意味を理解する必要があります。パフォーマンステストに関する特定の質問がある場合はそれを聞くことができます。そうでなければ、トピックが広すぎます。

パフォーマンステストを行うミニウェブアプリケーションを作成し、その結果をHTMLで表示するためのURLリクエストとして公開することができます。実際にどれくらいの努力を費やして欲しいと思っているのか、テストしたいのかによって、

関連する問題