首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在运行时从单元测试中获取单元测试方法名称?

如何在运行时从单元测试中获取单元测试方法名称?
EN

Stack Overflow用户
提问于 2012-03-12 19:55:43
回答 3查看 22.3K关注 0票数 28

如何从单元内测试中获取单元测试名称?

我在BaseTestFixture类中有以下方法:

代码语言:javascript
复制
public string GetCallerMethodName()
{
    var stackTrace = new StackTrace();
    StackFrame stackFrame = stackTrace.GetFrame(1);
    MethodBase methodBase = stackFrame.GetMethod();
    return methodBase.Name;
}

我的Test Fixture类继承自基类:

代码语言:javascript
复制
[TestFixture]
public class WhenRegisteringUser : BaseTestFixture
{
}

我有下面的系统测试:

代码语言:javascript
复制
[Test]
public void ShouldRegisterThenVerifyEmailThenSignInSuccessfully_WithValidUsersAndSites()
{
    string testMethodName = this.GetCallerMethodName();
    //
}

当我在Visual Studio中运行它时,它会按预期返回我的测试方法名。

当它由TeamCity运行时,返回的是_InvokeMethodFast(),这似乎是TeamCity在运行时生成的供自己使用的方法。

那么如何在运行时获得测试方法的名称呢?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9666562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档