c# - 如何在C#中使用多个excel文件作为单元测试的数据源?

标签 c# visual-studio unit-testing mstest

我正在尝试制作一个单元测试,该单元测试的数据源来自多个 Excel 文件,每个 Excel 文件都包含同一单元测试的测试用例。我想将所有Excel文件放在一个文件夹中,并让单元测试程序迭代所有Excel文件。

我找到了几种方法,比如将所有测试用例存储在一个XML文件中,但是这种方法太繁琐了,因为我必须从excel文件中提取所有测试用例并将其放入同一个XML文件中。我希望能找到一种有效的方法来做到这一点。有什么建议吗?

最佳答案

借助 Visual Studio (MsTest) 的标准测试框架,您可以在测试中使用 [DataSource] 属性绑定(bind)到数据源。默认情况下,这包括使用 Excel 的 OleDB 驱动程序对 Excel 的支持。

但是,这假设您的所有测试用例都位于同一个 Excel 文件中(因为您将使用打开文件和选项卡的简单连接字符串)。如果您想从多个文件中获取案例,则需要通过实现命名空间 from System.Data the technology behind this hasn't changed much since 2003 来实现您自己的数据提供程序。 .

如果您能够将 Excel 文件合并到一个文件中,并且测试用例各占一行,you'd be able to use the standard DataSource attribute将数据输入到您的测试中。

MsTest 始终假设您的数据采用表格格式。

关于c# - 如何在C#中使用多个excel文件作为单元测试的数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343246/

相关文章:

c# - 遍历控件并使用函数

c# - 如何访问用户控件中父页面的隐藏字段

c# - 匿名委托(delegate)可以在事件被触发后取消订阅吗?

asp.net-mvc - 缺少 Visual Studio 2012 MVC 本地数据库添加表菜单选项

visual-studio - Eclipse 是否具有像 Visual Studio 一样的可扩展性功能而无需任何编码?

c# - ASP.net编译项目错误

c# - Visual Studio F5 调试比附加到进程慢

django - django 应用程序的自定义测试套件

unit-testing - 在Go lang中一个接一个地多次模拟具有不同响应的相同功能

.net - 强制执行单元测试不应该与实时数据库/Web 服务对话是否合理?