NUnit 断言方法错误也在 NUnit.Framework 和 Microsoft.VisualStudio.TestTools.UnitTesting 命名空间中找到

2023-12-14

如果我同时使用这两个语句

using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;

我收到一个错误Assert方法。有人可以告诉我使用它的最佳方法是什么。

我应该更换每个Assert方法如下?

NUnit.Framework.Assert.AreEqual(expectedResult, result);

正如 Jon Skeet 在他的评论中提到的,您应该只使用一个测试框架。他们在一起不会玩得很好。如果你想使用 NUnit,你应该,

  1. 删除你所有的Microsoft.VisualStudio.TestTools.UnitTesting使用语句。
  2. 删除对的引用Microsoft.VisualStudio.QualityTools.UnitTestFramework来自您的项目参考。

您的单元测试最终只会在测试适配器 MSTest 或 NUnit 之一下运行。每个测试框架的断言在断言失败时抛出不同的异常,并且每个测试运行程序都期望抛出自己的异常。如果您尝试在测试中使用 MSTest 断言并且测试失败,NUnit 将不会识别作为断言异常抛出的异常,因此它会将其报告为错误而不是测试失败。

您可能最终得到了两个测试框架,因为您创建了一个单元测试项目在 Visual Studio 中,然后将 NUnit 添加到其中。 NUnit 测试项目应该只是常规的类库。另一种选择是安装Visual Studio 的 NUnit 模板扩展这将添加一个NUnit 3 单元测试项目Visual Studio 的模板。

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

NUnit 断言方法错误也在 NUnit.Framework 和 Microsoft.VisualStudio.TestTools.UnitTesting 命名空间中找到 的相关文章

随机推荐

  • Openshift - 我可以使用 Openshift 运行 docker 客户端命令(如 docker Push)吗?

    当您拥有 Docker 主机时 使用 Docker 会很容易 您将 Docker 客户端与 Docker 主机 引擎 连接 那么构建和部署 复杂的 docker 镜像的过程就像是 Jenkins 构建服务器上的这一系列命令 Maven cl
  • c中的for循环括号

    我编写了一个程序来使用 for 循环打印整数值 打印后 程序应该等待一秒钟 之后这些整数将被双空格字符覆盖 换句话说 程序的目的是在等待一秒后删除这些整数 这是程序 include
  • 在单个线性图中绘制多个字典/数据框

    我正在从多个词典中的某个来源收集数据 如下所示 d1 01 01 2018 15 02 01 2018 15 03 01 2018 15 d1 01 01 2018 20 02 01 2018 25 03 01 2018 56 d1 01
  • 在 .NET 中将字符串转换为 System.Color

    我正在尝试在 VB NET 上制作此应用程序 其中用户可以更改应用程序的背景颜色 当应用程序关闭时 颜色应保存到 XML 节省是小菜一碟 但现在真正的困境是如何转换字符串 Color white to a System Color 我已经用
  • addSnapShotListener 会触发所有依赖它的函数吗?

    据我了解 当 FireStore 中的数据发生变化时 AddsnapshotListener 会实时触发 但是 我不确定下面的代码中会触发哪个函数 只有函数C被触发吗 还是所有功能 如果所有函数都运行 函数 A 的参数会发生什么 func
  • Rails 不为生产或临时环境中的资产提供服务

    调试过程中这个问题 我尝试在本地生产模式下运行我的应用程序 但它不提供任何资产 另外 我有一个stagingHeroku 应用程序 与我的生产 Heroku 应用程序分开 中的环境现在也显示没有任何资产的 HTML 为了调试 我 杀死服务器
  • 如何向 symfony 会话添加额外的包

    我想为 symfony 会话添加一个额外的包 我在编译器通道中这样做 public function process ContainerBuilder container bag new AttributeBag my session at
  • 安装 python 时在 $PATH 中找不到可接受的 C 编译器

    我正在尝试在我的共享主机上安装新的 Python 环境 我按照中写的步骤操作这个帖子 mkdir src wget http www python org ftp python 2 7 1 Python 2 7 1 tgz tar zxvf
  • Oracle:加载一个大的 xml 文件?

    现在我有大量我感兴趣的 XML 数据 https blog stackoverflow com 2009 06 stack overflow creative commons data dump 我想将其加载到 Oracle 中来玩 如何将
  • 部分应用的功能[重复]

    这个问题在这里已经有答案了 在学习函数式编程时 部分应用函数的概念经常出现 在 Haskell 中 类似内置函数的东西take被认为是部分应用的 我仍然不清楚部分应用函数的确切含义或其使用 含义 函数本身不能 部分应用 或不 部分应用 这是
  • DjangoForeignKey 中的循环依赖?

    我在 Django 中有两个模型 A b ForeignKey B B a ForeignKey A 我希望这些外键不为空 但是 我无法创建对象 因为在我 save 之前它们没有 PrimaryKey 但如果没有其他对象 PrimaryKe
  • 使用“#”作为分隔符时 Read.table 不起作用?

    我有一个数据文件 符号作为分隔符 我想用read file命令 首先 这是一个大数据文件 我不想更改分隔符 因为 使用数据中已存在的不同分隔符的风险 注意 可以检查 但第 2 点使这变得更加复杂 我希望有更多这些数据文件 符号作为分隔符 所
  • 可扩展方式访问 ConcurrentHashMap 的每个元素一次

    我有 32 个机器线程和 1 个ConcurrentHashMap
  • 如何在canvas元素中使用html内容

    任何人都可以告诉我如何将我的 html 内容放在画布上 如果我们能做到这一点 这些元素的属性和事件是否有效 并且我还在该画布上绘制了动画 From MDN 上的这篇文章 您不能只将 HTML 绘制到画布中 相反 您需要使用 包含要渲染的内容
  • 如何在 webgl 中使用帧缓冲区?

    我一直在尝试了解 WebGL OpenGL ES 中的帧缓冲区 我知道我们可以使用帧缓冲区混合多个纹理 因此 为了理解我通过采用 1 1 纹理编写了一个示例 并尝试在其之上应用帧缓冲区逻辑 但是 没有成功 请参阅底部的片段 如果您单击 混合
  • Struts2将参数传递给不同webapp中的action

    我使用Struts 2 3 16 3 我希望 webapp 1 中的操作将参数传递给 webapp 2 中的操作 在 webapp 1 的 struts xml 中 我定义了以下结果
  • 子类化与子类化协议

    让我们从Class方法 class LoginCredentials var id String init userID String self id userID 那么我们将得到以下内容 class FacebookLoginCreden
  • 如何查看网络流量并获取资源请求的URL?

    我想监控一个页面的网络并获取JavaScript网络事件的所有URL 类似于PhantomJS的page onResourceRequested正在做 但我不知道如何使用 Google Chrome 的 Puppeteer 来做到这一点 我
  • Android Studio Gradle 错误 - preDexDebug

    我最近向我的 android studio 项目添加了一个新活动 现在当我尝试运行它时遇到错误 它构建得很好 但是当我运行它时出现以下错误 FAILURE Build failed with an exception What went w
  • NUnit 断言方法错误也在 NUnit.Framework 和 Microsoft.VisualStudio.TestTools.UnitTesting 命名空间中找到

    如果我同时使用这两个语句 using Microsoft VisualStudio TestTools UnitTesting using NUnit Framework 我收到一个错误Assert方法 有人可以告诉我使用它的最佳方法是什么