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çã

questionAnswers(10)

yourAnswerToTheQuestion