Запускайте разные тесты параллельно (при последовательном запуске TestCase каждого теста)

я пытаюсь запустить несколько тестовых случаев параллельно, и это не работает. я хочу запускать параллельные тестовые примеры, но каждый тестовый пример, который выполняется параллельно, выполняется с тестовым набором из другого теста, а не с тестовым набором из того же теста.

у меня есть 2 теста в одном классе, и для каждого теста у меня есть несколько тестов:

 [TestFixture] 
 [Parallelizable(ParallelScope.All)] 
 [Category("example_category")]
 public class example
 {
    [Test] 
    [TestCase(param1, param2)]   
    [TestCase(param1, param2)] 
    public void test1(object param1, object param2){
        // do some stuff
    }

    [Test] 
    [TestCase(param1, param2)]   
    [TestCase(param1, param2)] 
    public void test2(object param1, object param2){
        // do some stuff
    } 
 }

теперь все тесты выполняются параллельно, но я получаю много ошибок, я хочу запустить параллельные тестовые примеры из других тестов. например: я хочу, чтобы тестовый пример из test1 выполнялся параллельно с тестовым случаем из test2, но теперь 2 тестовых случая из test1 выполняются параллельно, и я хочу избежать этого. как я могу исправить свой код, чтобы сделать это правильно?

это не тесты селена, а только внутренние тесты, поэтому я не использую драйвер.

Спасибо!


person liran    schedule 24.07.2020    source источник


Ответы (1)


Самый простой способ гарантировать желаемое поведение — поместить два метода тестирования в отдельные фикстуры. В этом случае вы не захотите продолжать использовать ParallelScope.All для приборов, так как это позволит приборам работать вместе. В этом случае вы должны использовать ParallelScope.Children.

person Charlie    schedule 25.07.2020