0

这不是关于设置和拆卸的问题。这不是关于订单属性的问题。

当我运行我的 Nunit 测试时,其中一个会杀死其他测试所依赖的依赖项。我的总结显示了很多失败的测试。

一个好的起点是最后一次通过的测试,通过随后的失败向下推进。我需要查看测试的日志文件或更好的东西。

我正在使用 Visual Studio 中的 testadapter 运行测试。

这是我的包裹:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="3.3.3" targetFramework="net452" />
  <package id="NUnit" version="3.5.0" targetFramework="net452" />
  <package id="NUnit3TestAdapter" version="3.6.0" targetFramework="net452" />
  <package id="RhinoMocks" version="3.6.1" targetFramework="net452" />
  <package id="TestStack.White" version="0.13.3" targetFramework="net452" />
</packages>

我无法弄清楚最后一次测试运行的日志文件在哪里。搜索网络或堆栈溢出对我没有帮助。我可能使用了不正确的搜索词。

我的问题是我需要找到一个易碎且无法通过后续测试的测试,这样我才能弄清楚如何解决这个问题。

编辑:我发现一些关于跟踪记录器的信息。我可以使用OneTimeSetUp我的基地来激活它SetUpFixtureInternalTrace.Initialize(TestContext.CurrentContext.WorkDirectory + "nunittrace.log", InternalTraceLevel.Debug); 可悲的是,该文件仅包含一行确认初始化没有实际效果。

编辑:我不想依赖测试的顺序或控制测试的顺序。使用 order 属性标记测试是完全不可能的。我想要的是在执行后查看测试顺序,这样我就可以找到究竟是什么让这些测试变得脆弱,以便通过控制这种脆弱性来修复它。安装/拆卸,另一个界面?一旦我发现问题,我将拥有的所有选项。

4

1 回答 1

1

对于这种性质的问题,我会使用控制台运行程序而不是 VS 适配器。该--labels:Before选项将按照执行顺序为您提供所有测试的列表。

如果您正在使用任何并行执行,您显然应该为这些测试运行将其关闭。您可以在控制台运行程序中执行此操作,而无需通过--workers=0在命令行上使用来编辑您的测试代码。

于 2017-08-31T15:42:40.530 回答