Pregunta muestra el nombre de la prueba actual mediante el uso del código en el método [Configuración]


Tengo una línea actual en la parte superior de todas mis pruebas que se ve así:

Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name); 

Parece que estaría bien si pudiera poner esto en mi método Init (el etiquetado con [Setup]) Pensé que esto funcionaría, pero no importa qué número ponga para el marco de pila, lo más que puedo conseguir es Init. No es lo que quiero, pero muy cerca:

string methodName = new StackFrame(0).GetMethod().Name;
Console.WriteLine(methodName);

Creo que esto podría no ser posible, dada la forma en que Nunit ejecuta pruebas.

¿Por qué haces esto, dices? Porque en mi salida de consola sería bueno ver dónde comenzó una nueva prueba, de modo que si ambos aciertan al mismo código y emiten diferentes valores, sabré cuál hizo qué, sin tener que depurar.


7
2018-05-12 22:25


origen


Respuestas:


TestCaseAttribute no se agregó hasta NUnit 2.5, que podría ser el motivo por el que no puede encontrarlo. Pero no ayudaría de todos modos. Desafortunadamente, el método SetUp se llama antes del método de prueba, no desde el contexto del método de prueba (por lo que no aparecerá en la pila de llamadas).

Afortunadamente, NUnit ya es compatible con lo que estás tratando de hacer. Desde la GUI, vaya a Herramientas> Opciones> GUI> General> Salida de texto y marque 'Mostrar etiquetas TestCase'. O, para el corredor de la consola, simplemente agrega /labels a los parámetros.


6
2018-05-22 18:50



Lo siguiente podría ayudarme:

string testName = NUnit.Framework.TestContext.CurrentContext.Test.Name;
string testFullName = NUnit.Framework.TestContext.CurrentContext.Test.FullName;

13
2018-06-01 09:28



Aquí está el VB que uso para registrar cada prueba en un archivo:

<SetUp()>
Public Sub Setup()
   Logging.logTest(NUnit.Framework.TestContext.CurrentContext.Test.Name)
End Sub

1
2018-03-31 09:51



Puede usar NUnit.Core.NUnitFramework.TestCaseAttribute para obtener el nombre de la prueba actual.


0
2018-05-13 22:03