Перейти к содержимому

Фотография

Один инстанс для каждого процесса py.test xdist

pytest xdist паралельный запуск тестов

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 anatolike

anatolike

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 24 декабря 2014 - 21:48

Использую py.test c плагином xdist для распараллеливания тестов
Можно  как-то передавать один созданнй инстанс для каждого процесса?
 
Вот пример
 
### conftest.py
import pytest

class App:
    def __init__(self):
        print 'init'

@pytest.fixture(scope="session")
def app():
    return App()

###some_test.py

import pytest

def test_exists(app):

    assert False, app

def test_exists2(app):
    assert False, app


def test_exists3(app):
    assert False, app
 
при запуске py.test -n2 some_test.py
 
 
Будет запущено два потока и при этом будут созданы разные инстансы  app, а нужно что бы был один для всех процесов
Как можно это реализовать?
 

  • 0

#2 aksas

aksas

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:Харьков

Отправлено 25 декабря 2014 - 08:10

не знаю каким образом работает xdist, но можете попробовать 

app = None
@pytest.fixture(scope="session")
def app():
    if app == None:
        app = App()
    return app

 
или сделайте App синглтоном


  • 0

#3 anatolike

anatolike

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 25 декабря 2014 - 11:16

содержание conftest.py будет каждый раз сколько установленно потокв, т.е. в одном потоке app всегда будет None


  • 1

#4 polus

polus

    Новый участник

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Поляруш Михаил Анатольевич
  • Город:Kiev


Отправлено 25 декабря 2014 - 18:59

Уже отписался с решением здесь http://automated-tes...741/3?u=polusok


  • 0

Практикующий консультант по автоматизации тестирования ПО и тренер

Портал по автоматизации тестирования ПО http://automated-testing.info

Онлайн обучение автоматизации тестирования http://lessons2.ru

Персональные консультации и менторинг SDConsulting

Личный сайт http://poliarush.com



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных