Можно ли получить доступ к TestContext в методе AssemblyCleanup? - PullRequest
4 голосов
/ 13 января 2009

В пространстве имен 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 методам очистки?

Ответы [ 2 ]

1 голос
/ 13 января 2009

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

0 голосов
/ 25 мая 2015

Нельзя передавать любые параметры в метод AssemblyCleanup. Вот ошибка, если вы попытаетесь это сделать:

Сообщение о результате: метод SomeNamespace.TestDatabaseInitializer.AssemblyCleanup содержит ошибку подпись. Метод должен быть статическим, общедоступным, не возвращает значение и не должен принимать никаких параметров.

...