Каков наилучший способ модульного тестирования из нескольких потоков?

@ajmastran, поскольку результат thread модульного теста должен быть multithreading предсказуемым, нам нужно threads как-то синхронизировать потоки. Я unit-tests не вижу простого способа testing сделать это без использования tests событий.

Я обнаружил, что c#.net ThreadPool.QueueUserWorkItem дает мне простой способ unittest проверить такие варианты unit-tests использования

 ThreadPool.QueueUserWorkItem(x => { 
    File.Open(fileName, FileMode.Open);
    event1.Set(); // Start 2nd tread;
    event2.WaitOne(); // Blocking the file;
});
ThreadPool.QueueUserWorkItem(x => { 
    try
    {
        event1.WaitOne(); // Waiting until 1st thread open file
        File.Delete(fileName); // Simulating conflict
    }
    catch (IOException e)
    {
        Debug.Write("File access denied");
    }
});

c#

multithreading

unit-testing

testing

2022-10-29T17:32:22+00:00
Вопросы с похожей тематикой, как у вопроса:

Каков наилучший способ модульного тестирования из нескольких потоков?