2012-09-27 16 views
7

Utilizzo Visual Studio Express 2012 in Windows 8 Release Preview e non riesco a visualizzare i test dell'unità nell'esploratore di test.Test di unità non visualizzati

ho una classe chiamata TestApp.Entity e TestApp.EntityTest ...

Ecco il mio codice:

namespace TestApp.Entity.Test 
{ 
    using System; 
    using System.Net.Http; 
    using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; 
    using TestApp.Domain; 

    [TestClass] 
    public class EntityTests 
    { 
     [TestMethod] 
     public async void TestObject1Deserialize() 
     { 
      Uri agencyUri = new Uri("*removed*"); 
      HttpClient httpClient = new HttpClient(); 
      HttpResponseMessage response = await httpClient.GetAsync(agencyUri); 

      string responseBodyAsText = await response.Content.ReadAsStringAsync(); 
      List<Agency> agencyList = Deserializers.AgencyDeserialize(responseBodyAsText); 

      CollectionAssert.Contains(agencyList, new Agency() { Tag = "*removed*", Title = "*removed*", ShortTitle = "", RegionTitle = "*removed*" }); 
     } 

    } 
} 

Suppongo che è tutto quello che dovevo fare, ma ancora don' t appaiono nell'esploratore di prova. Qualsiasi consiglio sarebbe utile.

+7

Windows 8 RTM è fuori. E devi fare in modo che la tua unità esegua 'async Task' invece di 'async void' perché possano funzionare correttamente. –

risposta

5

Come da Stephen Cleary, "è necessario effettuare il test dell'unità async Task anziché async void affinché funzionino correttamente".

Questo ha risolto il problema e sono apparsi i test. È strano che non siano apparsi errori quando ho usato il vuoto, ma ora lo so. Grazie!

+0

Non funziona a vs 2012, man ... Né con [Test] o [TestCase]. [TestMethod] non c'era anche lì ... – UnknownJoe

1

Fare una ricostruzione di tutti sull'applicazione, inclusi i progetti che contengono classi di test e metodi di test. Dovrebbero apparire in Test Explorer subito dopo.

+2

Sì, il problema era che non si erano presentati dopo la ricostruzione. Ho dovuto modificare il vuoto asincrono in attività asincrone per risolvere il problema. – jyanks

+1

Felice che tu l'abbia elaborato. – akton

+0

Questo lo ha risolto anche per me. Non è molto intuitivo risolverlo. Perché la MS renderebbe il test asincrono nulla? È quello di consentire/assumere altri quadri di test come NUnit? Anche se lo fosse, non ha ancora molto senso per me. –

2

devo Visual Studio 2012 e non ho potuto vedere le prove in prova Explorer,

Così ho installato il seguente: NUnit Test Adapter

che fissava il problema per me!