【问题标题】:How to get current TestContext in TeamCity NUnit runner如何在 TeamCity NUnit 跑步者中获取当前的 TestContext
【发布时间】:2013-04-19 17:48:26
【问题描述】:

在 NUnit 中,可以使用 NUnit.Framework.TestContext.CurrentContext 获取当前测试。当我在本地机器上运行测试时,它会在测试期间正确填充。但是,当推送到运行 TeamCity 的开发服务器时,此数据结构会出现一些导致错误的问题。访问context.Test.FullNamecontext.Test.Namecontext.Result 时会出现这些错误。例如,使用以下代码:

var name = NUnit.Framework.TestContext.CurrentContext.Test.Name;

此异常发生,但仅在 TeamCity 运行测试时发生:

TearDown method failed. TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
--TearDown
   at NUnit.Framework.TestContext.TestAdapter.get_Name()

TeamCity 没有填充 TestContext 还是有正确的方法来获取这些数据?

【问题讨论】:

    标签: nunit teamcity


    【解决方案1】:

    最佳猜测:这是不可能的,因为 TeamCity 没有填充 TestContext 数据结构。也不能,因为 NUnit 中的设置器不是公开的。要使此功能正常工作,可能需要修改 NUnit。

    为了绕过这个限制,我们编写了自己的测试运行器,使用自定义数据结构来指示测试失败(这是这样做的主要目的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多