Вы можете изменить свой код так, чтобы вводился xsd.Вы также можете использовать MS Fakes для предоставления xsd из вашего тест-кода.
Небольшой пример псевдо-кода, если вы выбираете MS Fakes, это может выглядеть так:
public class SoftwareUnderTest()
{
private void ThisDoesSomethingWithXSD()
{
var fil = File.Open(ApplicationDirectory + "\myxsd.xsd");
}
}
[TestClass]
public class TestCode()
{
[TestMethod]
public void Test()
{
using (ShimsContext.Create())
{
// Arrange:
// Shim DateTime.Now to return a fixed date:
System.Fakes.ShimFile.Open =
() => { return File.Open("\\Testpath\text.xsd"); };
// Instantiate the component under test:
var sUT = new SoftwareUnderTest();
//ACT
//ToDo: write your testcode
//Assert
}
}
}
Инъекция немногопроще, как указано ниже, но для его тестирования требуется изменение кода, что усложняет использование вашего класса:
public class SoftwareUnderTest(string xsdPath)
{
private void ThisDoesSomethingWithXSD()
{
var fil = File.Open(xsdPath);
}
}
[TestClass]
public class TestCode()
{
[TestMethod]
public void Test()
{
// Instantiate the component under test:
var sUT = new SoftwareUnderTest("\\Testpath\text.xsd");
//ACT
//ToDo: write your testcode
//Assert
}
}
}