执行后获取 Nunit 测试命令以分析脆弱的测试
Get Nunit Test Order after Execution to analyze brittle Tests
这不是关于设置和拆卸的问题。
这不是关于订单属性的问题。
当我 运行 我的 Nunit 测试时,其中一个会杀死其他测试所依赖的依赖项。我的摘要显示了很多失败的测试。
一个好的起点将是最后一次通过的测试,通过随后的失败,我会逐步下降。我需要查看测试的日志文件或更好的东西。
我正在 运行使用 visual studio 中的测试适配器进行测试。
这是我的包裹:
<?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>
我不知道上次测试运行 的日志文件在哪里。搜索网络或堆栈溢出对我没有帮助。我可能使用了错误的搜索词。
我的问题是我需要找到一个脆弱的测试并未能通过后续测试,这样我才能弄清楚如何解决它。
编辑:
我发现了一些关于跟踪记录器的信息。
我可以使用我的基础 SetUpFixture
的 OneTimeSetUp
来激活它。
InternalTrace.Initialize(TestContext.CurrentContext.WorkDirectory + "nunittrace.log", InternalTraceLevel.Debug);
遗憾的是,这没有实际效果,文件仅包含一行确认初始化。
编辑:
我不想依赖测试顺序或控制测试顺序。使用 order 属性标记测试是完全不可能的。我想要的是在执行后查看测试顺序,这样我就可以找到究竟是什么让这些测试变得脆弱,以便通过控制这种脆弱性来修复它。设置/拆卸,另一个界面?找到问题后我将拥有的所有选项。
对于这种性质的问题,我会使用控制台运行器而不是 VS 适配器。 --labels:Before
选项将为您提供所有测试按执行顺序排列的列表。
如果您正在使用任何并行执行,显然您应该为这些测试运行将其关闭。您可以在控制台运行器中执行此操作,而无需通过在命令行上使用 --workers=0
来编辑测试代码。
这不是关于设置和拆卸的问题。 这不是关于订单属性的问题。
当我 运行 我的 Nunit 测试时,其中一个会杀死其他测试所依赖的依赖项。我的摘要显示了很多失败的测试。
一个好的起点将是最后一次通过的测试,通过随后的失败,我会逐步下降。我需要查看测试的日志文件或更好的东西。
我正在 运行使用 visual studio 中的测试适配器进行测试。
这是我的包裹:
<?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>
我不知道上次测试运行 的日志文件在哪里。搜索网络或堆栈溢出对我没有帮助。我可能使用了错误的搜索词。
我的问题是我需要找到一个脆弱的测试并未能通过后续测试,这样我才能弄清楚如何解决它。
编辑:
我发现了一些关于跟踪记录器的信息。
我可以使用我的基础 SetUpFixture
的 OneTimeSetUp
来激活它。
InternalTrace.Initialize(TestContext.CurrentContext.WorkDirectory + "nunittrace.log", InternalTraceLevel.Debug);
遗憾的是,这没有实际效果,文件仅包含一行确认初始化。
编辑: 我不想依赖测试顺序或控制测试顺序。使用 order 属性标记测试是完全不可能的。我想要的是在执行后查看测试顺序,这样我就可以找到究竟是什么让这些测试变得脆弱,以便通过控制这种脆弱性来修复它。设置/拆卸,另一个界面?找到问题后我将拥有的所有选项。
对于这种性质的问题,我会使用控制台运行器而不是 VS 适配器。 --labels:Before
选项将为您提供所有测试按执行顺序排列的列表。
如果您正在使用任何并行执行,显然您应该为这些测试运行将其关闭。您可以在控制台运行器中执行此操作,而无需通过在命令行上使用 --workers=0
来编辑测试代码。