2017-03-29 2 views
0

Zu Debugging-Zwecken möchte ich alle Methodenaufrufe protokollieren, die am Fixture-Code vorgenommen wurden.

Ich habe ein Beispiel, in dem ich Methodenaufrufe protokollieren kann, indem ich den Code mit Javassist instrumentiere. Aber das erfordert, dass ich "-javaagent = <>" als Befehlszeilenparameter übergebe, was ich beim Ausführen des Fitnesse-Tests vom Browser aus nicht tun kann. Ich kann neue Pakete und Klassen hinzufügen, aber die vorhandenen Fixtures nicht ändern. Alle Hinweise werden geschätzt. Fixture-Code ist in Java, Fitnesse-Server wird von der Eingabeaufforderung gestartet und Tests werden vom Browser gestartet.Alle Methodenaufrufe in Fitnesse protokollieren

+0

Sind Sie schlank oder fit als Testsystem verwendet? –

+0

Ich benutze Slim. –

Antwort

0

Bei Verwendung von "slim" können Sie die Option "LoggingInteraction" verwenden, um alle aufgerufenen Methoden protokolliert zu lassen.

Um dies zu ermöglichen können Sie die folgende Zeile in die root/Suite Wiki-Seite hinzufügen: !define slim.flags {-i fitnesse.slim.fixtureInteraction.LoggingInteraction} finden Sie in der Dokumentation minimal http://fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.SliM.InteractionAwareFixture

+0

Danke für die Antwort Fried. Ich habe den Code im obigen LoggingInteraction-Link verwendet und syso-Anweisungen durch einen Methodenaufruf ersetzt, der den Klassen- und Methodennamen in eine Datei schreibt. Der Wiki-Seite wurde auch die! Define-Anweisung hinzugefügt. Noch immer werden die Methodenaufrufe nicht protokolliert. Fehle ich etwas? –

+0

Ich glaube, dass die slim.flags auf derselben Seite platziert werden sollten, die das Testsystem zu schlank macht. Hast du es dort platziert? –

+0

Ja. Ich tat. Trotzdem konnte es nicht funktionieren. Wie auch immer, danke für Ihre Hilfe. –

Verwandte Themen