2012-09-27 19 views
7

Uso Visual Studio Express 2012 en Windows 8 Release Preview y parece que no puedo hacer que mis pruebas unitarias aparezcan en el explorador de prueba.Pruebas unitarias que no aparecen

tengo una clase llamada TestApp.Entity y TestApp.EntityTest ...

Aquí está mi código:

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*" }); 
     } 

    } 
} 

supongo que es todo lo que tenía que hacer, pero todavía don' t aparece en el explorador de prueba. Cualquier consejo sería útil.

+7

Windows 8 RTM está desactivado. Y necesita hacer que las pruebas de su unidad 'async Task' en lugar de' async void' para que funcionen correctamente. –

Respuesta

5

Según Stephen Cleary, "debe realizar las pruebas de su unidad async Task en lugar de async void para que funcionen correctamente".

Esto corrigió el problema y aparecieron las pruebas. Es extraño que no aparecieran errores cuando utilizaba el vacío, pero ahora lo sé. ¡Gracias!

+0

No funciona en vs 2012, hombre ... Ni con [Test] ni [TestCase]. [TestMethod] no estaba allí también ... – UnknownJoe

1

Reconstruya todo en la aplicación, incluidos los proyectos que contengan clases de prueba y métodos de prueba. Deberían aparecer en Test Explorer poco después.

+2

Sí, el problema era que no aparecían después de la reconstrucción. Tuve que cambiar la tarea async void por async para solucionar el problema. – jyanks

+1

Me alegra que lo haya resuelto. – akton

+0

Esto lo arregló para mí también. Eso no es muy intuitivo para arreglar eso. ¿Por qué MS haría la prueba asíncrona vacía? ¿Eso es permitir/suponer otros marcos de prueba como NUnit? Incluso si lo hace, eso todavía no tiene mucho sentido para mí. –

2

que tienen Visual Studio 2012 y no pude ver las pruebas en el Explorador de prueba,

Así que realizarán los siguientes: NUnit Test Adapter

Eso ha solucionado el problema para mí!