Como obter o nome do método de teste de unidade em tempo de execução no teste de unidad
Como obter o nome do teste de unidade no teste de unidad
Eu tenho o método abaixo dentro de uma classe BaseTestFixture:
public string GetCallerMethodName()
{
var stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
return methodBase.Name;
}
classe @My Test Fixture herda da base:
[TestFixture]
public class WhenRegisteringUser : BaseTestFixture
{
}
e eu tenho o teste de sistema abaixo:
[Test]
public void ShouldRegisterThenVerifyEmailThenSignInSuccessfully_WithValidUsersAndSites()
{
string testMethodName = this.GetCallerMethodName();
//
}
Quando eu executo isso no Visual Studio, ele retorna o nome do meu método de teste conforme o esperad
Quando executado pelo TeamCity, em vez_InvokeMethodFast()
é retornado, o que parece ser um método que o TeamCity gera em tempo de execução para seu próprio us
omo posso obter o nome do método de teste em tempo de execuçã