Pergunta

No espaço para nome unittersting da Microsoft (Microsoft.VisualStudio.TestTools.UnitTesting) existem AssemblyInitialize e AssemblyCleanup Atributos que você pode aplicar a métodos estáticos e eles serão chamados antes e depois de todos os testes, respectivamente.

[AssemblyInitialize]
static public void AssemblyInitialize(TestContext testCtx)
{
    // allocate resources
}

[AssemblyCleanup]
static public void AssemblyCleanup()
{
    // free resources
}

Minha pergunta: é possível e seguro Para acessar o TestContext dentro de AssemblyCleanup()? Caso contrário, armazenar referências de recursos como membros estáticos é uma alternativa razoável ou isso também pode causar problemas?

Além/opcionalmente: qual é o raciocínio por trás não passando uma referência ao TestContext para métodos de limpeza?

Foi útil?

Solução

Estou acessando uma propriedade estática na mesma classe e parece estar funcionando bem. Vou atualizar esta resposta se encontrar algum problema. Eu sou não, no entanto, acessando o TestContext Então, estou curioso para saber se isso funcionaria também.

Outras dicas

Você não pode passar nenhum paramaters para o método AssemblyCleanUp. Aqui está o erro se você tentar fazer isso:

Mensagem de resultado: Método Somenamespace.testdatabaseInitializer.ASSEMMBLYCLEANUP tem assinatura errada. O método deve ser estático, público, não retorna um valor e não deve tomar nenhum parâmetro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top