.net 如何为数据驱动单元测试引用嵌入式数据文件?
这是我的场景,我想做一个数据驱动的单元测试,为了独立于环境,我想在我的程序集中嵌入数据文件。我如何在单元测试的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] 建议的.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
[数据源(“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的建议?如果是,您可以发布一些示例代码吗?