2010-03-12 8 views
5

Cómo probar métodos asincrónicos usando nunit?cómo probar métodos asíncronos usando nunit

+3

¿Qué problema tienes? Usted solo los prueba; y verificar lo que están haciendo. Quiero decir, no importa lo que necesites esperar. Solo se trata de ver si puede recibir una notificación para que no tenga que sondear. Puede o no ser posible. –

+1

Casi duplicado de ["¿Cómo puedo probar un método asíncrono con NUnit, eventualmente con otro marco?"] (Http://stackoverflow.com/questions/12191831/how-do-i-test-an-async-method- with-nunit-event-with-another-framework) – chwarr

+0

5 upvotes para una pregunta de 7 palabras que muestra que no hay esfuerzo de investigación? _ [¿Cómo hago una buena pregunta?] (Http://stackoverflow.com/help/how-to-ask) _. Estoy celoso;) – MickyD

Respuesta

2

Si tiene la versión .NET 5 del compilador de C#, puede usar la nueva asincrónica y esperar las palabras clave. adjuntar el enlace: http://simoneb.github.io/blog/2013/01/19/async-support-in-nunit/

Si puede utilizar el cierre con la función lambda anónima, utilizando la sincronización de hilo.

por ejemplo)

[TestFixture] 
class SomeTests 
{ 
    [Test] 
    public void AsyncTest() 
    { 
     var autoEvent = new AutoResetEvent(false); // initialize to false 

     var Some = new Some(); 
     Some.AsyncFunction(e => 
     { 
      Assert.True(e.Result); 
      autoEvent.Set(); // event set 
     }); 
     autoEvent.WaitOne(); // wait until event set 
    } 

} 
0

Usted podría utilizar NUnits Delayed Constraint

[TestFixture] 
class SomeTests 
{ 
    [Test] 
    public void AsyncTest() 
    { 
     var result = false; 
     var Some = new Some(); 
     Some.AsyncFunction(e => 
     { 
      result = e.Result; 
     }); 

     Assert.That(() => result, Is.True.After(1).Minutes.PollEvery(500).MilliSeconds); 
    } 

} 

Este ejemplo es para NUnit 3.6, pero versiones anteriores también apoyan retardado restricción, pero las operaciones de búsqueda hasta que la sintaxis es diferente.

+0

StackOverflow no debe permitir votos negativos sin una explicación. Explíquese cuando baja la votación, para que nos ayude a todos a aprender. – Daryn

Cuestiones relacionadas