如何在method's属性中设置通用路径
本文关键字:属性 设置 路径 method | 更新日期: 2023-09-27 18:16:50
我写了一个测试。我使用数据驱动单元测试。我的方法声明如下:
[TestCategory("IntegrationTest")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
"C:''MyProjectPath''File.csv", "File#csv",
DataAccessMethod.Sequential), DeploymentItem("File.csv"),
TestMethod]
public void Read_CSV_File_Attribute()
我想提交我的更改到源代码管理。我遇到的问题是数据源属性中的硬编码路径:"C:'MyProjectPath'File.csv"。
如果有人想从存储库中获得这个代码的最新版本,那么这个人必须更改这个属性中的路径。
如何使通用路径,将工作为我所有的c级员工?
我试图通过使用:
改变路径MethodInfo method = typeof(TestClass).GetMethod("Read_CSV_File_Attribute");
method.CustomAttributes.ElementAt(1).ConstructorArguments.ElementAt(1).Value = _newPath;
它不能工作,因为Value是只读的
[TestCategory("IntegrationTest")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
Path.Combine(), "File#csv",
DataAccessMethod.Sequential), DeploymentItem("File.csv"),
TestMethod]
public void Read_CSV_File_Attribute()
Combine()抛出一个消息:Cannot resolve symbol 'Combine'.
我也尝试使用ConfigurationManager类,但我得到一个信息:类名在这一点上是无效的。
-
包括File.csv到你的项目并复制到输出目录(右键单击File.csv在解决方案=>属性=>高级=>复制到输出目录=>如果更新则复制)
-
使用相对路径到
中的"File.csv"DataSourceAttribute
:[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "File.csv", "File#csv", DataAccessMethod.Sequential)]
我遇到的问题是由于文件夹结构。我在解决方案资源管理器中设置了如下结构:
TestProject
-> Folder1
-> Folder2
-> File.csv
-> Tests.cs
我做了测试。在bin/debug文件夹中,我没有看到File.csv。csv文件在文件夹结构中:
bin
-> debug
-> Folder1
-> Folder2
-> File.csv
我的问题的解决方案是改变路径到file:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
@"Folder1'Folder2'File.csv", "File#csv", DataAccessMethod.Sequential)]