Cómo mostrar los tests de forma legible en el Explorador de Tests de Visual Studio con xUnit (II)
En la anterior entrada sobre xUnit, expuse como mostrar en el Test Explorer de Visual Studio el nombre de los métodos de los tests, en lugar del nombre del ensamblado, clase y método.
Esto se lograba agregando en el app.config un atributo que permitía precisamente lo que se perseguía.
Sin embargo, existe otra forma más y que podría servirnos para todos los proyectos de Test si hacemos una clase que lo contenga, y es hacer un atributo que herede del atributo Fact.
La idea es lo que voy a exponer ahora aquí, está sacado de una discusión de StackOverflow a la que podrás acceder en este enlace.
En concreto, la clase que deberíamos crear es la siguiente:
using System.Runtime.CompilerServices; using Xunit; namespace FooTests { public class MethodNamingFactAttribute : FactAttribute { public MethodNamingFactAttribute([CallerMemberName] string callerMemberName = null) { DisplayName = callerMemberName; } } }
De esta manera, podremos decorar nuestros tests de la forma:
[MethodNamingFact] 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.
¡Happy Coding!