测试依赖于 NUnit 的常用功能

2024-03-30

我有一些初始化代码来使用我的 API。初始化可能会失败,我想在 NUnit 测试中测试它。

初始化之后就可以使用API​​了。我也在测试 API,但我所有的测试方法都将使用相同的、通用的初始化代码。

我理想的情况是这种行为:

  1. 运行初始化测试。
  2. 如果 [1] 成功,则运行其他测试。

在 [1] 失败的所有情况下,所有其他测试也会失败。但有价值的信息是[1]失败了。这就是我最有可能发现问题的地方。如果其他测试可以用 ? 标记,那就太好了。或者其他什么,表明它们没有执行,因为它们所依赖的功能没有通过测试。

我知道测试不应该是脆弱的。但我无法回避这样一个事实:初始化代码对于正确执行其他功能是必需的。

这是一个更普遍的问题,其中某些功能依赖于其他功能。 “其他功能”过于常用,无法通过依赖它的所有测试来提供任何实际价值。如果“其他功能”单独测试会更好。


好吧,这就是我将如何解决这个问题......

将公共初始化放入安装方法中,因为所有测试都需要它。如果初始化抛出错误,您会看到

  • 套件中的所有测试都失败(随着时间的推移,我已经接受过培训,将其识别为可能安装/拆卸已引发异常的提示)。
  • 包含安装方法的失败测试的堆栈跟踪。

如果这对您来说太隐晦,您可以(尽管我不建议这样做)向同一个套件添加一个具有好名称的空测试。如果该测试显示为绿色,则可以确定安装/通用初始化代码已成功。

[Test]
public void VerifySetup() {}

更新:看来你有一个相当利基的要求。我不知道 NUnit 中是否有任何机制来指定此类测试的条件执行 - 例如仅当 Test1 通过时才运行 Test2 至 10。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试依赖于 NUnit 的常用功能 的相关文章

随机推荐

  • 如何从 main Rails 应用程序访问 Spree 的 link_to_cart 功能

    我正在现有的 Rails 应用程序中构建一个大礼包商店 并且我需要访问link to cart从 Spree 发动机外部 link to cart可以在这里找到 spree core app helpers spree base helpe
  • 如何将 GUID 作为属性参数?

    我需要某个属性类中的 Guid 属性 如下所示 public class SomeAttribute Attribute private Guid foreignIdentificator public Guid ForeignIdenti
  • 如何将单个字母链接到单词? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在创建一个文字游戏 您必须通过从
  • 如何自定义散点图中的标记颜色和形状? [复制]

    这个问题在这里已经有答案了 我有一个包含 9 列的数据集 7 个特征用于特征选择 其中一个用于分类 我使用 tsne 库进行特征选择 以查看我的数据可以分类多少 tsne 的结果如图所示 但是 我想以另一种方式可视化我的数据 我想根据 f1
  • 为什么 New Date() 总是返回 null?

    如果日期格式是 scope timestamp 2016 12 16 07 02 15 am 我想格式化为16 12 2016 07 02 15 am 我已经尝试过下面的代码并且运行良好 scope originalStamp filter
  • 尝试汇编反汇编器的输出(例如 objdump)[重复]

    这个问题在这里已经有答案了 可能的重复 反汇编 修改然后重新组装 Linux 可执行文件 https stackoverflow com questions 4309771 disassembling modifying and then
  • Liferay:登录 Liferay 的默认方法是什么?

    通过开发 portlet hooks 等 我看到了在 Liferay 中登录的不同方法 是否有我可以使用的默认日志记录方法 Liferay Way 1 如何初始化记录器 2 如何配置日志级别 我看到可以直接在Liferay 控制面板中修改日
  • 监控 Android 手机中的网络活动

    我想监控我的 Android 手机的网络流量 我正在考虑在 Android 上使用 tcpdump 但我不确定是否必须为手机进行交叉编译 另一个问题是 如果我想监控某个应用程序的流量数据 有什么命令可以做到这一点吗 TCPDUMP 是我最喜
  • 当 url 模式是路径时,无法让 Spring MVC 调度程序正常工作

    我有一个网络应用程序 目前我们正在将 Spring MVC 应用到 REST 服务 我们希望我们的休息服务出现在 contextPath rest 但是当我设置这个时 我们得到 在名称为 Spring MVC Dispatcher Serv
  • 如何使用另一个数据库(非默认数据库)中的 auth_user?

    我有两个数据库 默认数据库和示例数据库 我想用auth user来自示例数据库而不是来自默认数据库的表 默认情况下 它是从默认数据库获取的 我想在我的模型文件中指定它 以便我可以在我的视图中访问 这怎么可能 DATABASES defaul
  • 在Python中创建饼图

    我已经创建了饼图 但现在我正在使用一系列单元格 如下所示 chart3 add series name Pie data categories Pivots A 3 A 10 values Pivots F 3 F 10 这为我提供了一个饼
  • 按列对多维关联数组进行排序并保留第一级键

    我有一个看起来像这样的数组 this gt wordswithdata team1 gt points gt 10 players gt team2 gt points gt 23 players gt 我想按照每支球队的得分从高到低对球队
  • 新的 ms botbuilder 直线语音是否适合呼叫中心场景?

    MS 最近推出了直接语音通道以及一些供 Web 前端使用它的示例 但我想知道它是否适合在使用某些 SIP 或 twilio 电话等服务的呼叫中心场景中使用 如果是这样 我想看看一些文档如何使用直线语音 api 并将其连接到某些电话 我已经创
  • Linux 上的 cp + git 基准测试与 Linux 上的基准测试Windows:为什么会有这样的差异?

    我用这个创建了大量文件Python脚本 https gist github com nowox fd62b89b69ea730f3dbd0969e7693fbe我主要用它来对 Git 进行基准测试 结果非常令人惊讶 尤其是 Windows
  • 如何更改 ASP.NET Core API 中的默认控制器和操作?

    我正在创建一个 ASP NET Core API 应用程序 目前 当创建一个新项目时 会有一个名为 Values 的控制器 默认情况下 API 会在您运行时打开它 因此 我删除了该控制器并添加了一个名为 Intro 的新控制器 并在其中添加
  • pyodbc rowcount 只返回 -1

    行计数如何工作 我正在使用 pyodbc 它总是返回 1 return query conn query db param query q params print return query rowcount def query db pa
  • MSBuild 构建前步骤

    我昨天问了关于获得AfterBuild工作并能够通过将其放置在最底部来使其工作Project部分 MSBuild AfterBuild 步骤 https stackoverflow com q 26760052 2642059 我在不同的项
  • 无法在 websphere 8.5 上启动应用程序,但在版本 7 上运行

    我遇到了一个特殊的问题 我有一个包含 ejb jar 的 Ear 应用程序在 websphere 7 上独立运行 我下载了 8 5 试用版 创建了一个垂直集群并在其上安装了应用程序 但该应用程序在 8 5 版本上尚未启动 每次我尝试启动它时
  • 如何删除头部?

    我错误地推送了一些文件 它在主存储库中显示了不同的头 我怎样才能删除那个头 您可以通过编辑您的文件来启用 mq 扩展 hgrc文件 确保存在以下行 extensions mq 之后 您可以 剥离 特定修订版 将其删除 这样您就只有一个头 h
  • 测试依赖于 NUnit 的常用功能

    我有一些初始化代码来使用我的 API 初始化可能会失败 我想在 NUnit 测试中测试它 初始化之后就可以使用API 了 我也在测试 API 但我所有的测试方法都将使用相同的 通用的初始化代码 我理想的情况是这种行为 运行初始化测试 如果