如何从单元内测试中获取单元测试名称?
我在BaseTestFixture类中有以下方法:
public string GetCallerMethodName()
{
var stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
return methodBase.Name;
}
我的Test Fixture类继承自基类:
[TestFixture]
public class WhenRegisteringUser : BaseTestFixture
{
}
我有下面的系统测试:
[Test]
public void ShouldRegisterThenVerifyEmailThenSignInSuccessfully_WithValidUsersAndSites()
{
string testMethodName = this.GetCallerMethodName();
//
}
当我在Visual Studio中运行它时,它会按预期返回我的测试方法名。
当它由TeamCity运行时,返回的是_InvokeMethodFast()
,这似乎是TeamCity在运行时生成的供自己使用的方法。
那么如何在运行时获得测试方法的名称呢?
https://stackoverflow.com/questions/9666562
复制相似问题