Pregunta

En el espacio de nombres UnitTesting de Microsoft ( Microsoft.VisualStudio.TestTools.UnitTesting ) hay atributos AssemblyInitialize y AssemblyCleanup que puede aplicar a métodos estáticos y se llamarán antes y después de todas las pruebas, respectivamente.

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

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

Mi pregunta: ¿es posible y seguro acceder al TestContext dentro de AssemblyCleanup () ? Si no es así, ¿almacenar referencias de recursos como miembros estáticos es una alternativa razonable o podría causar problemas también?

Además / opcionalmente: ¿cuál es el razonamiento detrás de no pasar una referencia al TestContext a los métodos de limpieza?

¿Fue útil?

Solución

Estoy accediendo a una propiedad estática en la misma clase y parece estar funcionando bien. Actualizaré esta respuesta si encuentro algún problema. Sin embargo, estoy no accediendo al TestContext , así que tengo curiosidad por saber si eso también funcionaría.

Otros consejos

No puede pasar ningún parámetro al método AssemblyCleanup. Aquí está el error si intenta hacerlo:

  

Mensaje de resultado: Método   SomeNamespace.TestDatabaseInitializer.AssemblyCleanup tiene un error   firma. El método debe ser estático, público, no devuelve un valor.   y no debe tomar ningún parámetro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top