Pregunta

Estoy tratando de escribir un caso de prueba usando xunit.net y el atributo automático proporcionado por las extensiones XUnit.

Mi caso de prueba es así

[Fact, AutoRollback]<br>
public void TestCase()<br>
{

    // insert into data table
    repository.Insert(data);

    // spawn a new thread and read data which you just inserted in the data table
    Task.Factory.StartNew(action_to_read_data);
}

Este caso de prueba falla y lanza una excepción de tiempo de espera de conexión mientras lee los datos en el nuevo hilo. El problema que he encontrado es que el caso de prueba inicia una transacción debido al atributo de autorrollback y, al insertar los datos, bloquea la tabla para revertir al final. El nuevo hilo generado por el caso de prueba no puede leer datos de la misma tabla porque está bloqueado por el hilo principal. Sin embargo, puedo leer los datos en el mismo hilo.

¿Alguien tiene una solución? Quiero ejecutar varios subprocesos leyendo los datos insertados anteriormente.

No hay solución correcta

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