我正在创建数据驱动的单元测试方法,该方法使用xml
来传递数据。我已经按照SO和MS网站上给出的示例进行了操作,并相应地创建了一个方法。
我在项目的目录xml
中创建了一个data
文件。所以路径是/data/d.xml
。我已将Copy to Output Directory
属性设置为Copy always
。我在这里面临的问题是,文件被复制到目录Debug\data\d.xml
,但是,我的单元测试方法正试图在Debug\d.xml
中找到它。
如何使我的单元测试方法在Debug\data\d.xml
中找到该文件或如何在Debug
文件夹下直接移动我的数据文件而不将其移出data
目录?<登记/>
我的单元测试方法如下,
[TestMethod]
[DeploymentItem("d.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "/data/d.xml", "model", DataAccessMethod.Sequential)]
public void GetCPCModelTest()
{
//some code
Assert.IsTrue(model != null);
}
答案 0 :(得分:1)
尝试使用Directory
中的System.IO
提供完整路径,并在测试设置中找到路径。
示例(可能不准确):
private string path;
[TestInitialize]
public void InitTest()
{
string dir = Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory).FullName;
path = dir + "\\data\\d.xml";
}
[TestMethod]
[DeploymentItem("d.xml")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", path, "model", DataAccessMethod.Sequential)]