Код: Выделить всё
[TestMethod]
[DeploymentItem("UnitTesting\testdata1.xml","mytestdata")]
public void Test1(){
/*test*/
}
[TestMethod]
[DeploymentItem("UnitTesting\testdata2.xml","mytestdata")]
public void Test1(){
/*test*/
}
Я обнаружил [TestCleanup] и [ClassCleanup] Атрибуты , которые, похоже, помогут. Я добавил это:
Код: Выделить всё
[TestCleanup]
public void CleanUp(){
if(Directory.Exists("mytestdata"))
Directory.Delete("mytestdata", true);
}
Из документации MSDN кажется, что DeploymentItem только гарантирует, что файлы будут там до выполнения теста, но не более конкретно. Мне кажется, я наблюдаю следующую проблему:
- Элемент развертывания для теста выполняется
- (другие вещи происходит?)
- Выполняется очистка предыдущего теста.
- Выполняется следующий тест.
- Тест не пройден, поскольку файлы пропал
Я думал о том, чтобы каждый элемент развертывания использовал свою собственную уникальную папку для данных, но это становится затруднительным, поскольку предстоит пройти сотни тестов.
Подробнее здесь: https://stackoverflow.com/questions/142 ... unit-tests