He una prueba que tiene que trabajar más de 1 minuto (VS2008, MSTest, las pruebas son lanzados desde el VisualStudio):MSTest: cómo aumentar el tiempo de prueba
const int TestTimeout = 1;
[TestMethod]
[Timeout(10*60*1000)] // 10 minutes
public void Login_ExpirationFail_Test()
{
IAuthenticationParameters parameters = new AuthenticationParameters(...);
LdapAuthentication auth1 = new LdapAuthentication();
IAuthenticationLoginResult res = auth1.Login(parameters);
Assert.IsNotNull(res);
Assert.IsFalse(string.IsNullOrEmpty(res.SessionId));
const int AdditionalMilisecodns = 400;
System.Threading.Thread.Sleep((TestTimeout * 1000 + AdditionalMilisecodns) * 60);
LdapAuthentication auth2 = new LdapAuthentication();
auth2.CheckTicket(res.SessionId);
}
Esta prueba tiene un acabado en "Ejecutar" modo con "Prueba" Login_ExpirationFail_Test 'excedió el tiempo de espera de ejecución ". mensaje de error, en "Depurar" - funciona bien.
Vi algunos problemas similares relacionados con el lanzamiento de pruebas desde la línea de comandos.
¿Cómo puedo hacer que mi prueba sea viable en el modo "Ejecutar"?
Gracias.
Tus cálculos son incorrectos. Lo has eliminado por un factor de 10. Además, la expresión vs. constante anterior es exactamente equivalente porque el compilador C# lo convertirá en la misma cosa (excepto por el error matemático). Si esta solución funcionó, sospecho que es porque el error matemático redujo el valor a algo dentro del rango que mstest requiere. –
Hola Andrew, gracias por traer esto a nuestra atención. Eso fue solo un error de impresión en la respuesta. He usado las matemáticas adecuadas en mi código fuente. No sé por qué eso ayudó, pero eso fue así. – Budda
@Budda ¿Cómo es esta una respuesta? ¿Por qué es * una constante *, una respuesta? Una expresión constante es solo eso, constante y, como Andrew señaló, esto es lo que el compilador hace de todos modos. Lo único que logras al convertir esto en una constante es un montón de ceros que se pueden malinterpretar fácilmente, ya que creo que esta respuesta puede atestiguar, la expresión es buena y mucho más legible. –