Básicamente, me gustaría decirle a MSTest que ejecute un poco de código antes de iniciar una serie de ejecuciones de prueba, esencialmente lo que me gustaría hacer es lo mismo que insertar un código Main()
.
La razón por la que me gustaría hacer esto es que me gustaría hacer algunos registros con log4net durante mis ejecuciones de prueba de integración. No puedo simplemente usar el log4net.Config.XmlConfigurator
atributo de ensamblado, ya que cuando lo lee en mi ensamblado de prueba, ya ha llamado LoggerManager
. La documentación recomienda configurar log4net explícitamente en el punto de entrada del código, pero ¿dónde está eso en mis pruebas?
Necesito poder ejecutar mis pruebas en TestDriven.NET y MSTest runner.
and contains methods that are marked with the TestMethod attribute
.Para completar, estas son las opciones "ejecutar código antes" para MSTest:
[AssemblyInitialize]
para ejecutar código una vez por ensamblado, antes de que se ejecute cualquier prueba en ese ensamblado.[ClassInitialize]
para ejecutar código una vez por clase, antes de cualquier prueba en la clase donde se define el método.[TestInitialize]
para ejecutar código antes de todas y cada una de las pruebas en la clase donde se define el método.fuente
Veo esto en el encabezado de MS Test.
Esto se ejecutaría antes de las pruebas en una clase.
Parece que desea ejecutar algo antes de todas las pruebas.
También existe la opción de secuencia de comandos de configuración en la configuración de ejecución de prueba.
fuente