¿Se puede acceder a TestContext en un método AssemblyCleanup?
-
22-07-2019 - |
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?
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.