gpt4 book ai didi

c# - 使用 NUnit 作为可部署的测试套件

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:28 26 4
gpt4 key购买 nike

我在基于开发人员的测试的单元测试场景中使用了很多 NUnit,但我想要的是利用 GUI 和测试功能为我的 QA 团队提供一个测试套件,他们可以为所有组件或部分组件等运行,因为 GUI 非常适合。

但我无法解决的问题是如何在我的解决方案中对其进行建模、我需要部署什么、如何部署 NUnit 等。

我打算有一个用于测试的类库,一个由 QA 团队运行的控制台应用程序,他们可以传递参数以自动运行测试子集,这将生成 NUnit 控制台并运行这些测试,或者如果他们只是在没有参数的情况下运行我的控制台应用程序,它会加载 NUnit GUI,他们可以浏览他们喜欢的任何测试。

但由于 NUnit 被部署为大型二进制项目,需要由 Process.Start 运行,我不确定如何部署它,因为 NUnit 具有大型目录结构,我不确定如何将其包含在我的项目构建中,它将在哪里等。

有没有人做过类似的事情并且对如何最好地做到这一点有什么建议?

最佳答案

部署 nunit 二进制文件的一种方法是使用 NuGet - 有一个 NUnit.Runner nuget 包,其中包含所有二进制文件、gui 等 - 您只需要提供可测试的二进制文件。

因此 - 在您的 CI/构建过程中创建一个步骤,该步骤将创建一个仅包含您的测试和支持程序集的 nuget 包。在 .nuspec 文件中,使“NUnit.Runner”成为依赖包。现在你有一个 nuget 包,其中包含你所有的东西和你需要的所有 NUnit .exes 的链接......下一个挑战是将这个包放到你的测试人员桌面上。执行此操作的最佳方法是使用您自己的私有(private) NuGet 提要/服务器或 NaaS...myget.org。

此时我会说我创建了以下解决方案 - 我认为还有其他可用的解决方案,例如 chocolatey 也是如此。

我构建了一个名为“sidewinder”的 nuget 包 (sidewinder.codeplex.com) - 这个包包含“sidewinder.exe” - 这个 exe 将从任何 nuget 提要(官方,myget,自定义)下载一个 nuget 包,然后解压包的内容并将文件复制到您选择的任何文件夹。因此,如果您的 CI 过程创建了测试程序集的新包版本,sidewinder.exe,一旦安装在您的测试机器上,将能够检测到新版本,下载、解压和部署它。您甚至可以在运行正确命令行以启动 gui 或控制台运行程序的程序包中包含一个批处理文件。

对于奖励积分,有一个自动版本 - wolfpack (http://wolfpack.codeplex.com) 有一个插件 (http://wolfpackcontrib.codeplex.com/wikipage?title=Wolfpack.Contrib.Deployment ) 可以监控特定包的新版本的 nuget 提要,并自动为您下载、解压和运行 nunit 测试 - 它将根据测试结果创建通知。

HTH

关于c# - 使用 NUnit 作为可部署的测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com