¿Paquetes de pruebas unitarias. NET?


Volviendo a un poco más.NET después de algunos años de no usarlo a tiempo completo, y preguntándose cuáles son los buenos paquetes de pruebas unitarias en estos días.

Estoy familiarizado con NUnit (hace unos años), y he jugado brevemente con IronRuby, con el objetivo de conseguir algo como rspec, pero no sé mucho más allá de eso.

Me doy cuenta de que podría buscar en Google esto y llamarlo un día, pero creo que es probable que obtenga una respuesta mejor y más informada al hacer una pregunta aquí :-)

Sugerencias?

Author: Hossein Narimani Rad, 2008-08-05

12 answers

Hay tantos que es una locura. Muy bueno, supongo.

  • Para los tipos conservadores (me), NUnit todavía está disponible y todavía más que capaz.
  • Para los tipos de Microsoft, MSTest es adecuado, pero lento y torpe en comparación con Nunit. También carece de cobertura de código sin pagar mucho dinero por las costosas versiones de Visual Studio.
  • también Hay MbUnit. Es como NUnit, pero tiene características ingeniosas como RowTest (ejecute la misma prueba con diferentes parámetros) y Rollback (vuelva a colocar la base de datos como la encontró después de una prueba)
  • Y, finalmente,, xUnit.net es la opción de moda con un poco de actitud.
  • Oh, y TestDriven.NET le dará integración IDE para Nunit y MbUnit.
Estoy seguro de que todos están bien. Sin embargo, me alejaría de MSTest, a menos que disfrute de la conveniencia de tener todo en un IDE fuera del cuadro.

Scott Hanselman tiene un podcast sobre este mismo tema.

 51
Author: Brad Tutterow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-03 17:30:36

Usamos NUnit y MbUnit aquí. Usamos TestDriven.NET para ejecutar las pruebas unitarias desde Visual Studio. Usamos el excelente y altamente recomendado RhinoMocks como un marco de trabajo simulado.

 8
Author: Judah Himango,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-06 16:07:06

Apégate a NUnit. No te acerques a MSTest.

NUnit + ReSharper es una alegría absoluta para trabajar con.

 8
Author: Iain Holder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-14 15:09:17

Solía usar NUnit, pero ahora tiendo a usar MbUnit, para dos características clave: 1. La función RowTest le permite ejecutar fácilmente la misma prueba en diferentes conjuntos de parámetros, lo cual es importante si realmente desea una cobertura completa. 2. La función de reversión le permite ejecutar pruebas en su base de datos mientras retrasa los cambios después de cada prueba, manteniendo su base de datos exactamente en el mismo estado cada vez. Y es tan fácil como agregar el atributo [Rollback].

Otro aspecto agradable de MbUnit ¿es que su sintaxis es casi idéntica a NUnit, por lo que si ya tiene un banco de pruebas completo en su lugar bajo NUnit, puede cambiar las referencias sin la necesidad de cambiar ninguna (mucho?) codificar.

 6
Author: Doug R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-28 03:52:44

XUnit.net parece que proporciona un enfoque ligeramente diferente a N/MB/MS / Unit, lo cual es interesante.

En mi búsqueda de una solución similar a rspec (porque ME ENCANTA el rspec), también me encontré con NSpec, que se ve un poco prolijo, pero combinado con el complemento NSpec Extensions para usar métodos de extensión de C#3, se ve bastante bien.

 6
Author: Orion Edwards,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-09 05:42:24

Utilizo lo siguiente:

TestDriven.NET - Complemento de pruebas unitarias para Visual Studio

Typemock Isolator - Marco burlón para Pruebas Unitarias. Net

NUnit - Un framework de pruebas unitarias de código abierto que está en C#.

 5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-15 14:33:01

Esta es una pregunta antigua, pero puede que le parezca interesante que Gallio v3.1 ahora soporte RSpec a través de IronRuby.

 4
Author: Jeff Brown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-19 20:34:25

Me gusta TestDriven.NET (a pesar de que uso ReSharper) y estoy bastante contento con XUnit.net. Utiliza Hechos en lugar de Pruebas que a muchas personas no les gusta, pero me gusta la diferencia en la terminología. Es útil pensar en una colección de hechos demostrables automáticamente sobre su software y ver cuáles viola cuando realiza un cambio.

Tenga en cuenta que Visual Studio 2008 Professional (y superior) ahora viene con pruebas unitarias integradas (solía ser disponible solo con las ediciones Team System) y puede ser adecuado para sus necesidades.

 3
Author: Mike Minutillo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-05 02:07:50

He hecho un pequeño ejemplo de probar una lib. net usando IronRuby: http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

 3
Author: khebbie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-11 10:54:50

Me gusta MbUnit, er, Gallio. Lo más importante para mí es tener un buen soporte de herramientas dentro de Visual Studio. Para ello utilizo Resharper, que tiene un MbUnit test runner. A mucha gente parece gustarle TestDriven.NET como su corredor de prueba también.

 2
Author: Brett Veenstra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-05 00:57:48

Solía usar NUnit, pero cambié a MbUnit ya que tiene más características. Me encanta RowTest. Le permite parametrizar sus pruebas. Sin embargo, NUnit tiene un poco más de soporte para herramientas. Estoy usando ReSharper para ejecutar pruebas MbUnit. He tenido problemas con TestDriven.NET ejecutar mis métodos de configuración para MbUnit.

 2
Author: Lance Fisher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-06 21:03:00

Esta es realmente una opinión personal de mi parte (supongo que es redundante ya que es un foro). NUnit, MSTest, ect todos hacen bastante mutch la misma cosa. Sin embargo, NMock me parece indispensable.

NMock o cualquier paquete de burla no es prueba unitaria, pero hace que sea mucho más fácil hacer pruebas unitarias que mught también lo sea.

 2
Author: Dan Blair,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-14 15:04:08