2016-11-06 1 views
0

Ich konnte keine Informationen bezüglich der Konfiguration von AppDynamics Agent für JUnit Tests finden. Ich möchte die Leistung von Hibernate-Abfragen von Spring basierten Web-Service von PostgreSQL Datenbank unterstützt. Tests müssen in der Lage sein, die Daten bei der Beendigung zurückzusetzen.Wie konfiguriere ich AppDynamics, um die Ausführungszeiten von Hibernate-Abfragen zu messen?

Sollte es Unit oder Integration Tests sein? Was ist der beste Weg, um es zu erreichen? Wie macht man AppDynamics sammeln und Graphen der Abfrage Ausführungszeiten anzeigen?

UPDATE:

war ich nicht in der Lage addDynamics Mittel für JUnit-Tests innerhalb IDEA einzurichten. Die VM Argumente zeigen auf Agenten -javaagent:"C:\Tools\AppDynamicsAgent\javaagent.jar", ist die Firewall ausgeschaltet, aber aus irgendeinem Grunde in AppDynamics Web-basierte (SaaS) einrichten Dialog zeigt, dass kein Agent in der Lage zu verbinden:

enter image description here

Antwort

0

Sie benötigen beiden Unit-Tests und Integrationstests. Unit-Tests sollten nicht in der Datenbank oder Datei, ect. Ich verwende gerne Frühlingsprofile für meine Tests. Zum Beispiel, wenn ich ein Profil namens integration_test habe.

@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(); 
    } 

} 

(Ich bin mit XML) dann in Ihrem Kontext so etwas wie: <beans profile="test">TODO </beans> Und Ihre Datenquelle in dort konfiguriert.

Ich weiß, es gibt Möglichkeiten, alle Ihre Transaktionen nach dem Ausführen eines Tests Rollback, aber ich mag es besser. Löschen Sie nicht alles in Ihrer realen Datenbank, haha, könnte sogar einen Sicherheitscode in die clearDatabase schreiben, um sicherzustellen, dass das nicht passiert.

Für Leistungstests müssen Sie wirklich herausfinden, was Sie erreichen möchten und was sinnvoll angezeigt werden soll. Wenn Sie eine spezielle Frage zum Leistungstest haben, können Sie das fragen, ansonsten ist es zu weit verbreitet.

Vielleicht können Sie eine Mini-Webanwendung erstellen, die Leistungstests für Sie durchführt und die Ergebnisse als URL-Anforderungen für die Anzeige in HTML verfügbar macht. Es hängt wirklich davon ab, wie viel Aufwand Sie dafür ausgeben und was Sie testen möchten.

Verwandte Themen