Можно ли получить доступ к TestContext в методе AssemblyCleanup?
-
22-07-2019 - |
Вопрос
В пространстве имен UnitTesting от Microsoft ( Microsoft.VisualStudio.TestTools.UnitTesting
) есть атрибуты AssemblyInitialize
и AssemblyCleanup
, которые можно применять к статическим методам и они будут вызваны до и после всех тестов соответственно.
[AssemblyInitialize]
static public void AssemblyInitialize(TestContext testCtx)
{
// allocate resources
}
[AssemblyCleanup]
static public void AssemblyCleanup()
{
// free resources
}
Мой вопрос: возможно ли и безопасно получить доступ к TestContext
в AssemblyCleanup ()
? Если нет, то является ли хранение ссылок на ресурсы в качестве статических элементов разумной альтернативой или это также может вызвать проблемы?
Дополнительно / опционально: что является причиной не передачи ссылки на TestContext
в методы очистки?
Решение
Я обращаюсь к статическому свойству в том же классе, и оно, кажется, работает нормально. Я обновлю этот ответ, если у меня возникнут проблемы. Я не , однако, получаю доступ к TestContext
, поэтому мне любопытно, будет ли это работать тоже.
Другие советы
Вы не можете передавать какие-либо параметры в метод AssemblyCleanup. Вот ошибка, если вы попытаетесь это сделать:
Результат сообщения: метод SomeNamespace.TestDatabaseInitializer.AssemblyCleanup содержит ошибку подпись. Метод должен быть статическим, общедоступным, не возвращает значение и не должен принимать никаких параметров.