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 始终假定您的数据采用表格格式。