Testing Tasks

Am avut probleme cu task-urile si List<T> . Mai exact, List<T> nu e thread safe – dar tinzi sa uiti asta. Vedeti si http://msprogrammer.serviciipeweb.ro/2017/05/22/task-and-generic-list/ .

Cum sa fac un test care sa testeze cazurile acestea? Nu am ajuns la o concluzie buna, insa cred ca brute force ar trebuie sa fie de ajuns:

 

        [Fact]
        public async Task TestTasks()
        {
            var list= new List<Task>();
            for(int i = 0; i < 10; i++)
            {
                list.Add(GetAndInterpretData());
            }
            await Task.WhenAll(list.ToArray());
            Assert.False(list.Exists(t => t.Exception != null));
        }

Cu citirea de pe hard si 10 iteratii , ajunge la 5 secunde. Cred ca e destul de bun…

Leave a Reply

Your email address will not be published. Required fields are marked *