Hay una cierta superposición entre los dos con seguridad. NUnit es el predecesor y, como resultado, más maduro. El marco de prueba de unidad C # es más joven, pero está integrado con Visual Studio.
Vengo del mundo Java donde JUnit es el rey (hay otros, pero ninguno tan popular), y NUnit 2.5.x es una muy buena combinación con la forma en que JUnit 4 funciona. De hecho, funciona mucho mejor que la contraparte de Java.
En cuanto a la definición de prueba, estoy a favor de NUnit. Claro que MS Test tiene atributos similares (pero diferentes) que aplica a sus clases, pero creo que carece de algunas características que pueden ahorrarle algo de trabajo en algunos tipos de pruebas. Es posible que desee consultar una discusión similar sobre StackOverflow .
Me gusta el nuevo modelo de afirmación integrado en NUnit (está utilizando las afirmaciones de estilo Hamcrest ) porque son fáciles de leer y fácilmente extensibles.
- NUnit tendrá un mejor soporte de terceros, MS Test tendrá una mejor integración (lista para usar).
- NUnit tendrá una mejor flexibilidad y extensibilidad, MS Test sufrirá en esta área.
- Ambos ejecutan pruebas unitarias y verifican sus resultados, ambos funcionarán para TDD.