Cómo mostrar los tests de forma legible en el Explorador de Tests de Visual Studio con xUnit (III)
En la anterior entrada sobre xUnit, expuse como ejecutar un conjunto de tests sobre un mismo método.
En esta ocasión, voy a explicar cómo partiendo de esa premisa, nombrar nuestros tests de forma legible tal y como exponía en anteriores entradas sobre este tema.
La particularidad entre ejecutar un test unitario y un conjunto de tests, es que en el primer caso, el atributo es Fact, mientras que en el segundo caso, el atributo es Theory.
Por lo tanto, utilizando el atributo Theory, tenemos el mismo problema que comentaba en otras entradas respecto a la forma en la que nombramos los tests, por lo que no aparecen de forma legible.
Para resolver este problema, deberíamos hacer algo parecido a lo que hicimos con Fact :
using System.Runtime.CompilerServices; using Xunit; namespace FooTests { public class MethodNamingTheoryAttribute : TheoryAttribute { public MethodNamingFactAttribute([CallerMemberName] string callerMemberName = null) { DisplayName = callerMemberName; } } }
De esta manera, podremos decorar nuestros tests de la forma:
[MethodNamingTheory] public void MiTest() { }
Si recompilamos nuestros test, el nombre del método se respetará sin haber tenido la necesidad de modificar ningún app.config ni nada por el estilo tal y como hicimos para el caso de Fact.
¡Happy Coding!