12

Qual è attualmente la soluzione migliore per automatizzare i test delle unità in esecuzione contro le applicazioni Silverlight all'interno di CruiseControl.NET?Test automatico dell'unità Silverlight con CruiseControl.NET

Preferibilmente vorrei eseguire i test di unità MSTest, tuttavia, poiché questi non sono ufficialmente supportati per Silverlight, sono aperto a suggerimenti che utilizzano altri framework di test.

risposta

4

La versione di novembre dello Silverlight Toolkit contiene non solo il quadro di test dell'unità Silverlight, ma anche un'attività di MSBuild per consentire il funzionamento del framework dalla riga di comando. Vedere Jeff Wilcox's post per i dettagli, ma si finisce per fare essenzialmente questo:

msbuild /t:test /p:browser=firefox 

Come CC.Net può funzionare MSBuild si dovrebbe essere in grado di chiamare almeno i test. L'output è in formato TRX.

Ho usato questo framework con un certo successo, anche se non integrato in CC.Net, funziona bene ma i test eseguiti in un browser sono quindi un po 'lenti. Il vantaggio di eseguire nel browser è che puoi eseguire più test di accettazione, eseguendo i controlli da visualizzare. Il framework include anche metodi per far fronte alla natura asincrona di Silverlight.

+0

Non ero a conoscenza di questo. Bello! –

+0

Questo è davvero bello. Questo rende i test completamente automatizzabili su un server di build non presidiato? Ad esempio, il browser dovrebbe chiudersi dopo che il test è stato eseguito e l'output salvato – SciFi

+0

@jbloomer: hai esperienza nell'uso del framework di testing fornito nel toolkit di novembre? Sembra che il modello di test del test di Silverlight non venga installato in VS2008. È un modello VS2010? – SciFi

3

Ho riscontrato questo problema e al momento non è disponibile il ufficiale supportato di questi test di unità. Il problema principale è che Silverlight Unit Testing Framework non supporta il plug-in in MSTest e quindi non può realmente essere integrato in alcun elemento della configurazione. Tuttavia c'è un modo per aggirare questo usando Powerhell - vedi here.

Personalmente vedo che è un bel problema per ottenere questi test inseriti nell'elemento della configurazione e per il momento eseguirli solo sul mio computer locale.

Aggiornamento: come jbloomer ha scritto, c'è una procedura dettagliata disponibilion Jeff Wilcox's blog su come impostare un compito MSBuild per il Silverlight Unit Testing Framework. Consiglierei di scegliere questo percorso: una volta installato MSBuild, non dovresti avere problemi a collegarlo a CruiseControl.NET.

0

È possibile utilizzare un framework di testing di terze parti come NUnit o XUnit.net? Potresti quindi chiamare l'eseguibile da CC.net. In effetti, CCNet ha un compito NUnit.

+2

Né NUnit né XUnit supportano test specifici di Silverlight. –

2

Per l'esecuzione di unit test di Silverlight da riga di comando in CCNet o TeamCity è possibile utilizzare Faro Silverlight Unit Test Runner:

http://lighthouse.codeplex.com/

Funziona con qualsiasi server di build perché corre test di unità e produce XML compatibile con NUnit file di risultati in modo da eseguirlo allo stesso modo come eseguire il corridore di NUnit Console.

+1

Anche questo funziona alla grande con Jenkins CI. I risultati del test sono raccolti senza problemi dal plugin NUnit. – Blake

Problemi correlati