2010-06-25 7 views
6

Ho capito come far funzionare i miei test dalla linea di comando usando:Slim .net: Come faccio a eseguire il debug di dispositivi di prova utilizzando Visual Studio?

java -jar fitnesse.jar -c MyFixturePage?test&format=text -d "c:/utils/fitnesse/" -r "FitNesseRoot" 

Usando questo come i parametri di avvio per il mio progetto assieme di fissaggio in Visual Studio non lavoro. Sto usando il corridore Slim e l'esecutore nei miei dispositivi: http://github.com/jediwhale/fitsharp/downloads

Qualcuno ha capito come ottenere il debugging con Slim lavorando in Visual Studio?

risposta

4

Il problema è che java genera un altro processo in cui viene eseguito il codice .NET e quindi il processo si arresta immediatamente. Ecco un modo per ottenere una sospensione del processo in cui il codice viene eseguito .NET:

http://www.asoftwarecraft.com/2010/01/troubleshooting-with-fitsharp-and.html

+0

Grazie Mike, soluzione perfetta. Suppongo che avrei dovuto leggere il manuale :) http://www.syterra.com/Slim/DebuggingFixtures.html –

+0

Nel caso in cui il collegamento dovesse mai morire, l'idea è di modificare la pagina di test per cambiare il runner di test da Runner.exe a RunnerW.exe. es. Se hai la seguente definizione del runner di prova '! define TEST_RUNNER {FitSharp \ Runner.exe}' sulla tua pagina, cambialo in '! define TEST_RUNNER {FitSharp \ RunnerW.exe}'. Quindi, quando si esegue il test, verrà visualizzato un Windows Form in attesa di fare clic sul pulsante "Vai". Non fare ancora clic sul pulsante Vai. In Visual Studio, collegare per elaborare "RunnerW.exe" _quindi fare clic sul pulsante Vai. L'esecuzione dovrebbe interrompersi in tutti i punti di interruzione presenti in Visual Studio. –

5

Un altro buon modo è quello di introdurre semplicemente un'affermazione che lancia il debugger. Nel nostro codice tutti i nostri dispositivi derivano da alcuni semplici dispositivi di base personalizzati con alcune utilità come | debug |

questa affermazione lancia proprio il debugger in questo modo:

public void Debug() 
    { 
     System.Diagnostics.Debugger.Launch(); 
    } 

non appena l'affermazione è colpito i lanci debugger.

questo ha il vantaggio di poterlo inserire rapidamente ovunque si desideri. A volte potresti avere un lungo test che usa ripetutamente le stesse asserzioni, nel qual caso è bello perché puoi farlo subito prima di quello che è il problema.

0

Ho creato una semplice utilità che chiama Debbuger.Launch senza dover modificare il codice o lo script FitNesse. Questo è molto utile se il codice e gli script di fitness si trovano nel controllo sorgente. Vedi this blog post per maggiori dettagli.