2008-11-18 10 views

Respuesta

1

@Simon: Los módulos compilados para CF.NET no se ejecutan en el escritorio h/w, y por lo tanto no se pueden probar con NUnit.

+0

No tenía conocimiento de esto. ¿Pueden las personas que me otorgaron el representante eliminarlo, por favor? –

+1

No es 100% cierto. Los ensamblajes de CF son retargetables, por lo que si no utilizan llamadas específicas de CE, entonces funcionarán. Obtener el marco de prueba para cargar el código CF y no intentar implementarlo es la parte más difícil. – ctacke

+0

ctacke, supongo que por "retargetable" quiere decir que se pueden construir como ensambles de marco estándar. He considerado esa opción, pero agrega complejidad a la construcción y no estaríamos probando el código a medida que se construye para la producción. –

4

Utilizamos MSTest bajo TFS (2008). La gran ventaja es que ejecuta las pruebas en un dispositivo real (corremos tanto contra emuladores como dispositivos físicos) y las pruebas se realizan desde el servidor, no desde el dispositivo. Esto significa que no tiene que seleccionar pruebas para ejecutar, etc. desde la interfaz de usuario de un dispositivo (a la CFNUnitBridge), que es dolorosamente incómoda y no conduce a la integración continua.

MSTest no es una panacea, sin embargo. Tiene algunos inconvenientes serios (como las pruebas de depuración es realmente doloroso y el inicio de la prueba es lento), pero es mejor que cualquier otra cosa que hayamos probado. La esperanza es que a medida que MS avance, la usabilidad mejorará y podemos seguir avanzando con el marco de prueba que tenemos.

Usando cualquier otra cosa nos parece demasiado arriesgado, ya que muchos frameworks y bibliotecas para dispositivos tienden a marchitarse y morir sin un gran patrocinador. NUnitLite, por ejemplo, solo ha tenido 477 descargas y muy poca renovación o actividad de código en una vida de dos años a partir de esta publicación; eso no inspira confianza de que crecerá en características.

+0

Gracias. He escuchado algunas cosas buenas sobre la historia de las pruebas en VS 2010, así que creo que su esperanza es probable que sea recompensado. – Hugh

+0

pruebas de base de datos (sin GUI) también se están ejecutando en el dispositivo real? – hellboy

+0

NUnitLite ahora se ha lanzado con la Versión 1.0 en github – hellboy

1

Probablemente ya se haya dado cuenta de esto, pero con Visual Studio 2008 Professional, la "mejor" forma es usar MSTest (soy un tipo NUnit de principio a fin, pero esto es todo).

Haga clic derecho en un método o clase y seleccione "Crear prueba de unidad". Eso lo guiará a través de la creación del proyecto de prueba con todas las dependencias que necesita para comenzar.

Punto clave, esto ejecutará las pruebas en el dispositivo, que es lo que quiere que suceda, luego informe los resultados de nuevo en el corredor MSTest.

Sin embargo, todavía hay problemas de prueba. No puedo encontrar ningún marco de burla que funcione con .net cf. Pero es un comienzo.

0

Para un proyecto integrado que se ejecuta en Portable.NET, terminamos escribiendo nuestra propia versión mínima de NUnit, ya que no pudimos obtener el código NUnit para compilar y ejecutar en ese tiempo de ejecución. En realidad, no fue tan difícil de hacer.

Cuestiones relacionadas