Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何为数据驱动单元测试引用嵌入式数据文件?_.net_Unit Testing_Mstest_Data Driven Tests - Fatal编程技术网

.net 如何为数据驱动单元测试引用嵌入式数据文件?

.net 如何为数据驱动单元测试引用嵌入式数据文件?,.net,unit-testing,mstest,data-driven-tests,.net,Unit Testing,Mstest,Data Driven Tests,这是我的场景,我想做一个数据驱动的单元测试,为了独立于环境,我想在我的程序集中嵌入数据文件。我如何在单元测试的DataSourceAttribute中引用 我正在尝试使用Microsoft Jet OleDB提供程序访问Excel 2003文件。当文件位于硬盘驱动器中时,单元测试工作正常,但当我尝试访问嵌入式程序集文件时,单元测试工作正常。以下是我的例子: 原创 [DeploymentItem(“IHRM.Infrastructure.EFRepositories.Tests\DataDrive

这是我的场景,我想做一个数据驱动的单元测试,为了独立于环境,我想在我的程序集中嵌入数据文件。我如何在单元测试的DataSourceAttribute中引用

我正在尝试使用Microsoft Jet OleDB提供程序访问Excel 2003文件。当文件位于硬盘驱动器中时,单元测试工作正常,但当我尝试访问嵌入式程序集文件时,单元测试工作正常。以下是我的例子:

原创

[DeploymentItem(“IHRM.Infrastructure.EFRepositories.Tests\DataDriven.xls”)、数据源(“System.Data.OleDb”、“Provider=Microsoft.Jet.OleDb.4.0;数据源=| DataDirectory | \ DataDriven.xls;扩展属性=\“Excel 8.0\”、“Sheet1$”、DataAccessMethod.Sequential)、TestMethod]

建议的


[数据源(“System.Data.OleDb”,“Provider=Microsoft.Jet.OleDb.4.0;数据源=“放在这里的内容”;扩展属性=\“Excel 8.0\”,“Sheet1$”,DataAccessMethod.Sequential),DeploymentItem(“IHRM.Infrastructure.eRepositories.Tests\DataDriven.xls”),TestMethod]

我怀疑JET OLEDB是否支持基于嵌入式资源连接到数据库。我认为有两种方法可以解决这个问题:

1。提取资源

在你的测试中,你可以去一个已知的地方。请参阅JET连接字符串中的此已知位置。在测试的目录中再次清理提取的文件

2。编写自己的数据源

您可以编写自己的支持访问嵌入式excel文件的文件。要使mstest能够发现这样的工厂,您必须使用


若要查看mstest如何在内部处理数据源,请使用打开Microsoft.VisualStudio.QualityTools.Common.dll程序集,并通过分解Microsoft.VisualStudio.TestTools.Utility.TestDataConnection.Create来开始跟踪跟踪。您是否实现了Wim的建议?如果是,您可以发布一些示例代码吗?