我如何在NUnit测试会话开始时执行代码(而不是夹具设置)

克里斯·贝伦斯

我正在执行大量包含测试的固定装置。每个测试中都有代码,用于根据NUnit属性将所有错误记录到文件中。执行完成后,该文件将以一种很好的格式包含所有错误,以发送给顾问。

首先,我需要一个钩子来删除文件的先前副本,以便可以重新生成文件。如果这是在单个固定装置中进行的一系列测试,那将是一记破片-将其放入固定装置中。但是我需要这几十个测试夹具来共享一个通用文件,因此将其放入夹具设置中是行不通的。

其次,这一切就像重新发明轮子一样……如果有一些很棒的NUnit标准可以将结果分流到备用输出,我很想听听。

TIA。

帕特里克·奎克(Patrick Quirk)

最简单的方法是将套件生成的许多NUnit文件合并到一个文件中。此答案链接到创建为将合并作为MSBuild任务进行操作的

第一步是编译该库(尝试时对我来说没有问题),然后将生成的程序集放在具有以下MSBuild项目(或类似内容)的目录中:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
                 ToolsVersion="4.0"
                 DefaultTargets="UnitTest">
  <UsingTask AssemblyFile="$(MSBuildProjectDirectory)\15below.NUnitMerger.dll" 
             TaskName="FifteenBelow.NUnitMerger.MSBuild.NUnitMergeTask" />
  <Target Name="UnitTest">
    <ItemGroup>
      <ResultsFiles Include="$(MSBuildProjectDirectory)\nunit-result*.xml" />
    </ItemGroup> 
    <NUnitMergeTask FilesToBeMerged="@(ResultsFiles)"
                    OutputPath="$(MSBuildProjectDirectory)\TestResult.xml" />
  </Target>
</Project>

在这里,我假设您的文件设置在同一目录中,即:

在此处输入图片说明

将NUnit结果放入目录后,从该目录运行MSBuild以获取输出:

msbuild merge.msbuildproj

生成的文件(此处为TestResult.xml)具有与NUnit正常的Xml输出相同的格式,但具有test-suite type=Assembly输入文件中的所有节点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在项目开始时执行迁移

来自分类Dev

如何在项目开始时执行迁移

来自分类Dev

在会话开始时如何启动PCManFM?

来自分类Dev

如何设置一个条件,即当开始时间大于输入时间时,代码应执行

来自分类Dev

如何在 sbt shell 会话开始时显示特定于项目的消息?

来自分类Dev

如何在程序开始时声明

来自分类Dev

我的班级可以在我的代码开始时调用,但是在我的测试循环时不可以调用

来自分类Dev

如何使电子欢迎屏幕在会话开始时停止显示?

来自分类Dev

如何在游戏结束时以与开始时相同的条件重新设置游戏?

来自分类Dev

如何在C中的程序开始时开始计时

来自分类Dev

如何在时间开始时获得每月的firstDay?

来自分类Dev

如何在Swift开始时禁用按钮触摸

来自分类Dev

如何在每天开始时重置变量?

来自分类Dev

Flutter:如何在开始时打开抽屉?

来自分类Dev

如何在应用程序开始时使活动闪烁?

来自分类Dev

如何在拓扑开始时也发送节拍元组?

来自分类Dev

如何在时间开始时获得每月的firstDay?

来自分类Dev

如何在程序开始时接受输入?

来自分类Dev

如何在双变量开始时检查小数?

来自分类Dev

如何在开始时使用数字访问 API

来自分类Dev

如何在每小时开始时暂停 C# 代码十分钟

来自分类Dev

Python:下一分钟开始时执行代码

来自分类Dev

如何在服务器上恢复asp.net会话的开始时间?

来自分类Dev

我的班级可以在我的代码开始时调用,但不能在我的测试循环时调用

来自分类Dev

MSVS。执行测试时,如何告诉NUnit使用/ noshadow参数?

来自分类Dev

如何使NUnit在失败时停止执行Class中的测试

来自分类Dev

如何在长按手势开始时开始播放动画?

来自分类Dev

重新运行测试时防止过早的会话夹具拆卸

来自分类Dev

“会话开始后无法设置会话ID。” 在测试表格时

Related 相关文章

  1. 1

    如何在项目开始时执行迁移

  2. 2

    如何在项目开始时执行迁移

  3. 3

    在会话开始时如何启动PCManFM?

  4. 4

    如何设置一个条件,即当开始时间大于输入时间时,代码应执行

  5. 5

    如何在 sbt shell 会话开始时显示特定于项目的消息?

  6. 6

    如何在程序开始时声明

  7. 7

    我的班级可以在我的代码开始时调用,但是在我的测试循环时不可以调用

  8. 8

    如何使电子欢迎屏幕在会话开始时停止显示?

  9. 9

    如何在游戏结束时以与开始时相同的条件重新设置游戏?

  10. 10

    如何在C中的程序开始时开始计时

  11. 11

    如何在时间开始时获得每月的firstDay?

  12. 12

    如何在Swift开始时禁用按钮触摸

  13. 13

    如何在每天开始时重置变量?

  14. 14

    Flutter:如何在开始时打开抽屉?

  15. 15

    如何在应用程序开始时使活动闪烁?

  16. 16

    如何在拓扑开始时也发送节拍元组?

  17. 17

    如何在时间开始时获得每月的firstDay?

  18. 18

    如何在程序开始时接受输入?

  19. 19

    如何在双变量开始时检查小数?

  20. 20

    如何在开始时使用数字访问 API

  21. 21

    如何在每小时开始时暂停 C# 代码十分钟

  22. 22

    Python:下一分钟开始时执行代码

  23. 23

    如何在服务器上恢复asp.net会话的开始时间?

  24. 24

    我的班级可以在我的代码开始时调用,但不能在我的测试循环时调用

  25. 25

    MSVS。执行测试时,如何告诉NUnit使用/ noshadow参数?

  26. 26

    如何使NUnit在失败时停止执行Class中的测试

  27. 27

    如何在长按手势开始时开始播放动画?

  28. 28

    重新运行测试时防止过早的会话夹具拆卸

  29. 29

    “会话开始后无法设置会话ID。” 在测试表格时

热门标签

归档