Domanda

Abbiamo un grande progetto Delphi (1,5 milioni di linee di codice), e ci stiamo muovendo a utilizzare processi agili.

Abbiamo già un ambiente di integrazione continua (FinalBuilder), che ho aggiornato per includere test di unità (dunit) e le metriche del codice (CodeHealer) nei messaggi di posta elettronica a tutti nel nostro team di sviluppo. La nostra copertura unit test non è grande, quindi sto ora cercando di ottenere AQtime nel mix per alcuni risultati di test di copertura su ogni generazione.

Sto utilizzando l'attività "Esegui programma" per eseguire il test eseguibile unità, registrare i risultati e analizzare il file in seguito. Ho intenzione di utilizzare l'attività "Run Script" per eseguire AQtime (via COM) ed esportare i risultati in formato XML in modo da poter analizzare attraverso questi risultati.

Il problema che ho è con AQtime in esecuzione l'eseguibile di test di unità, perdo la possibilità di monitorare direttamente l'eseguibile di prova unità. Mi piacerebbe arrivare FinalBuilder per analizzare i risultati di entrambi i compiti. Qualcuno sa come ottenere l'accesso ai risultati dunit quando viene chiamato da AQtime?

È stato utile?

Soluzione

Abbiamo corso su questa stessa strada, e non corriamo prova dunit da AQTime,

Invece noi costruire e gestire le nostre prove dunit utilizzando FinalBuilder.

I nostri test di unità utilizzano XmlTestRunner, allora possiamo sapere se il test ha esito negativo o non molto facilmente utilizzando un XPath query dal file XML risultante.

Aggiornamento: Un recente aggiornamento di FinalBuilder 7.0 ora supporta dunit. E 'attraverso i propri XMLTestrunner.pas, che è sotto il Direttorio FinalBuilder dopo l'installazione. Questo corridore emette i risultati della prova nello stesso formato come NUnit. E poi si integra molto bene in FinalBuilder Server.

Altri suggerimenti

Stai tipo di descrivere la configurazione stiamo lentamente evolvendo a.

  • test dunit sono compilati come applicazioni di console utilizzando il TTextTestListener definito in unità TextTestRunner.
  • server di C'è uno script cmd che costruisce tutti i progetti ed esegue tutti i test.
  • L'output dei test vengono reindirizzati a un file.

Una soluzione potrebbe essere quello di avere AQTime profilo queste applicazioni console, mentre ancora essere in grado di pipe i risultati in un file che può essere analizzato in seguito?!

Un'altra soluzione potrebbe essere quella di implementare il proprio oggetto TestListener e avere tale obiettivo scrivere i testresults al registro eventi, direttamente ad un file di log, un database o dove si vuole e avere questa ripresa da FinalBuilder.

Invece di avere qualcosa di simile nel file di progetto

  Application.Initialize;
  if System.IsConsole then TextTestRunner.RunRegisteredTests
  else GUITestRunner.RunRegisteredTests;

sarebbe diventato qualcosa di simile

  Application.Initialize;
  if System.IsConsole then OurEventLogTestRunner.RunRegisteredTests
  else GUITestRunner.RunRegisteredTests;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top