如何指定approved.txt文件位置以在TeamCity上运行批准测试

时间:2015-04-15 19:15:18

标签: c# nunit teamcity approval-tests

我正在尝试从TeamCity下的nUnit运行我的审批测试

    [assembly: FrontLoadedReporter(typeof(TeamCityReporter))]        

    [Test]
    [UseReporter(typeof(WinMergeReporter))]
    public void Test()
    {
    }

不幸的是,测试失败了,因为批准试图从C盘中获取批准的文件。

  

测试失败。 ApprovalTests.Core.Exceptions.ApprovalMissingException:批准失败:批准文件“C:\ ... approved.txt”未找到。

无论如何,我可以为我的批准文件指定正确的位置吗?

1 个答案:

答案 0 :(得分:1)

TeamCityReporter似乎隐藏了这个问题的真正原因。

以下是使用所列解决方案进行本地运行和批准测试输出的结果。

  

System.Exception:无法检测测试框架

     

:1)优化器内联测试方法

     

解决方案:a)添加[MethodImpl(MethodImplOptions.NoInlining)] b)设置   Build-> Opitmize Code to False& Build-> Advanced-> DebugInfo to Full

     

或2)未设置批准以使用您的测试框架。它目前   支持[NUnit,MsTest,MbUnit,xUnit.net,xUnit.extensions,   Machine.Specifications(MSpec)]

     

解决方案:添加一个用途   ApprovalTests.Namers.StackTraceParsers.StackTraceParser.AddParser()   添加实现的方法   ApprovalTests.Namers.StackTraceParsers.IStackTraceParser支持   为您的测试框架。要学习如何实现一个看   http://blog.approvaltests.com/2012/01/creating-namers.html

抓住它很棘手,因为通常本地运行是在部署和Release下的Debug下在Debug下完成的。不过,我希望问题和答案对其他人有帮助。