C#单元测试如何使用多个excel文件作为数据源?
How to use multiple excel files as data source for unit test in C#?
我正在尝试进行单元测试,其数据源来自多个 excel 文件,每个 excel 文件都包含同一单元测试的测试用例。我想将所有 excel 文件放在一个文件夹中,让单元测试程序遍历所有 excel 文件。
我找到了几种方法,比如将所有测试用例存储在一个 XML 文件中,但是这种方法太繁琐了,因为我必须从 excel 文件中提取所有测试用例并放入它进入同一个 XML 文件。我希望得到一个有效的方法来做到这一点。有什么建议吗?
使用 Visual Studio (MsTest) 的标准测试框架,您可以在测试中使用 [DataSource]
属性绑定到数据源。默认情况下,这包括对 Excel 的支持,使用 Excel.
的 OleDB 驱动程序
但是,这假设您的所有测试用例都位于同一个 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 始终假定您的数据采用表格格式。
我正在尝试进行单元测试,其数据源来自多个 excel 文件,每个 excel 文件都包含同一单元测试的测试用例。我想将所有 excel 文件放在一个文件夹中,让单元测试程序遍历所有 excel 文件。
我找到了几种方法,比如将所有测试用例存储在一个 XML 文件中,但是这种方法太繁琐了,因为我必须从 excel 文件中提取所有测试用例并放入它进入同一个 XML 文件。我希望得到一个有效的方法来做到这一点。有什么建议吗?
使用 Visual Studio (MsTest) 的标准测试框架,您可以在测试中使用 [DataSource]
属性绑定到数据源。默认情况下,这包括对 Excel 的支持,使用 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 始终假定您的数据采用表格格式。