使用来自外部文件的数据进行 xUnit 测试

2023-12-21

这些天我试图了解 xUnit 测试的工作原理,特别是,我发现有 3 种方法将数据作为参数传递以测试类方法(InlineData、ClassData 和 MemberData)。但这是我的问题:是否有机会从外部文件获取这些数据? (例如 Json 文件) 我无法找到有关该主题的足够材料,感谢您的关注!


xUnit 被设计为可扩展的,即通过数据属性 https://github.com/xunit/xunit/blob/master/src/xunit.core/Sdk/DataAttribute.cs.

内联数据 https://github.com/xunit/xunit/blob/master/src/xunit.core/InlineDataAttribute.cs, 类数据 https://github.com/xunit/xunit/blob/master/src/xunit.core/ClassDataAttribute.cs and 会员资料 https://github.com/xunit/xunit/blob/master/src/xunit.core/MemberDataAttribute.cs全部源自DataAttribute,您可以扩展自己来为数据理论创建自定义数据源,您可以在其中读取外部文件并使用例如Json.NET https://www.newtonsoft.com/json反序列化您的数据。

User Sock https://stackoverflow.com/users/6375486/sock在他的博客中写到了这一点JSON,正如您提到的:

  • 创建自定义 xUnit 理论测试 DataAttribute 以从 JSON 文件加载数据 https://andrewlock.net/creating-a-custom-xunit-theory-test-dataattribute-to-load-data-from-json-files/
  • GitHub 上的源代码 https://github.com/andrewlock/blog-examples/tree/master/XUnitTheoryTests/XUnitTheoryTests

与数据相关的问题CSV file: 如何使用 CSV 文件中的数据运行 XUnit 测试 https://stackoverflow.com/questions/42727394/how-to-run-xunit-test-using-data-from-a-csv-file

这里有两个xUnit样品:

  • Excel数据 https://github.com/xunit/samples.xunit/tree/0c8ef4e4291b0ddc98469ad1317d3ad0c7904ce7/ExcelDataExample
  • SqlData https://github.com/xunit/samples.xunit/tree/0c8ef4e4291b0ddc98469ad1317d3ad0c7904ce7/SqlDataExample
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用来自外部文件的数据进行 xUnit 测试 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 在 Webview 中清除用户的 Facebook 会话

    我有一个 WebView 它允许用户将图像分享到 Facebook 这个过程涉及他们登录 FB 完成后 我销毁 WebView 应用程序重置 并向不同的用户提供相同的功能 目的是让 WebView 不从一个会话到下一个会话保持登录状态 但是
  • 如何使用 Android SDK Manager 安装 NDK

    据说可以用Android SDK manager来安装NDK 如下图 不幸的是 我没有SDK Plantforms SDK Tools and SDK Update Sites我的 SDK 管理器中的选项卡 我的图片如下 那么我的情况如何安
  • 在设备树中注册 snd-soc-dummy

    我正在尝试在我的设备树源文件中注册 soc utils 中提供的 ALSA 虚拟编解码器 以将其与 i2s 设备驱动程序 sun8i i2s 一起使用 我尝试在 i2s 配置中设置 sound dai 字段 如下所述 https patch
  • PHP有peek数组操作吗?

    我想查看数组的第一个元素 此操作等效于以下代码 function peek list item array shift list array unshift list item return item 这段代码对我来说似乎真的很重 并且 p
  • 当我绘图时如何消除线条之间的这些“点”?

    is there an easy way to not draw this points in my lines I don t know why this points are there because i never release
  • 如何永久运行 Ionic 服务?

    我正在为一个应用程序使用 Ionic 框架 代码位于Linux服务器上 我正在使用运行应用程序ionic serve通过腻子命令 但是 问题是如果我关闭腻子 应用程序就会停止 有没有办法让离子服务作为守护进程永久运行 我怀疑您尝试这样做是因
  • IIS发布后如何修复CSS中的图像路径?

    我是 MVC V4 新手 在将网站发布到 IIS 后遇到问题 通过 Web 浏览器 和页面检查器 在 IIS Express 中查看时 我的网站运行良好 然而 当我将我的网站 通过 VS2012 发布到 IIS 时 我的 CSS 引用的所有
  • 无法显示png

    我正在虚拟机 Red Hat Enterprise Linux Server 版本 6 4 上运行 R shiny R 版本 3 0 1 2013 05 16 一切正常 即服务器启动 应用程序运行等 只要我不尝试绘制图表 renderPlo
  • 如何在 C++ 中使用复数“i”

    我现在正在编写一个简单的 DFT 算法 我想在复指数中使用复数 i 我看到有人用 include
  • 自定义 UIView 类 - Swift

    我已经构建了一个从底部出现并在一段时间后隐藏的视图 它运行良好 但我想将其放入UIView类作为模态 我浏览了互联网 但我无法理解或理解如何做到这一点 snake UIView frame CGRect x 0 y self view fr
  • driver.Context.synchronize()- 还有什么要考虑的 -- - 清理操作失败

    I have this https stackoverflow com questions 12159709 cuda out of memory threads and blocks issue address is out of bou
  • 在字符串中使用 switch

    尝试通过首先将字符串转换为字符然后应用开关来在字符串中使用开关 但仍然没有完成 这是我的代码 import java io BufferedReader import java io IOException import java io I
  • 如何从需要 return 语句的 GraphQL 解析器中调用异步 node.js 函数?

    上提供的 Hello World 示例graphql org graphql js http graphql org graphql js创建一个简单的 GraphQL 实现如下 var graphql buildSchema requir
  • JavaScript Async=true 属性

    我在某个未命名供应商的文档中看到了此代码示例 它似乎异步加载脚本 然后从中调用函数 我意识到 if undefined 检查将防止出现明显的错误 但这不是完全错误的吗 我相信在 IE8 9 中它会正常工作 但会阻止执行 直到 LOADER
  • 如何使用 Provider 将 ChangeNotifier 的范围限定到某些路由?

    我有一个 ChangeNotifier 我想在多个路由之间共享它 但不all routes Page1 是我的第一页 我只需要与 Page2 Page3 和 Page 共享 ChangeNotifierProvider 的数据 并在进入 P
  • 计算罗盘的航向到特定坐标而不是向北

    我无法正确理解这个算法 我正在尝试制作一个指向某个位置的指南针 而不仅仅是指向北方 有问题 我花了很多时间试图弄清楚这一点 但我就是找不到它 有任何想法吗 void locationManager CLLocationManager man
  • 使用 json4s 在 Scala 应用程序中生成 json

    我正在尝试使用 json4s 在 Scala 应用程序中生成 JSON 相当简单 下面是我在 Scalatra 应用程序中整理的一些示例值 import org json4s import org json4s JsonDSL object
  • “不支持的主次版本 52.0”是什么意思,如何解决? [复制]

    这个问题在这里已经有答案了 好的 所以我粗略地理解 52 0 是 Java 8 异常意味着某些代码是用一个版本的 java 编译的 而另一些代码是用另一个版本编译的 我无法理解的是它是哪条路 这是我得到的堆栈跟踪 Exception in
  • 如何在 Linux 中签署 Mac OS X 应用程序?

    对于 OS X 我在 DMG 内分发 Java 应用程序 自 Mountain Lion 发布以来 打开应用程序会出现以下错误消息 应用程序名称 已损坏且无法打开 您应该弹出 磁盘映像 显然解决方法是签署 app 文件 https blog
  • 使用来自外部文件的数据进行 xUnit 测试

    这些天我试图了解 xUnit 测试的工作原理 特别是 我发现有 3 种方法将数据作为参数传递以测试类方法 InlineData ClassData 和 MemberData 但这是我的问题 是否有机会从外部文件获取这些数据 例如 Json