Как открыть файл в папке с кодом Test Project? (Visual Studio 2008 и .NET C #) - PullRequest
1 голос
/ 16 января 2009

Когда я запускаю тестовый проект в Visual Studio, я использую приведенный ниже код для доступа к файлу внутри папки с кодом тестового проекта

var Location = System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName
);
var FileLocation = Path.Combine(
            Location
            ,@"..\..\..\TestProject1\App_Data\data.xml"
            );

Есть другой (и лучший) способ?

Ответы [ 2 ]

5 голосов
/ 16 января 2009

Вы говорите, что пытаетесь найти файл в контексте самого запущенного теста? Если это так, вы должны посмотреть на объект TestContext , в частности на свойство TestDeploymentDir Вы также должны пометить файл как DeploymentItem .

2 голосов
/ 16 января 2009

Самый надежный способ получить доступ к каталогу deploymetn для модульного теста VSTS - это использовать класс TestContext. Это будет автоматически подключено, если вы определите открытое свойство типа и имени TestContext для данного TestClass

private TestContext _context;
public TestContext TestContext { get { return _context;} set { _context = value } }

Класс TestContext имеет несколько членов, которые указывают на фактическое развертывание тестового кода. Я не знаю, как развертывается веб-приложение, но одно из свойств этого класса должно указывать на правильный каталог.

...