У меня есть несколько тестовых файлов в тестовой папке.Структура выглядит примерно так:
/test
----test_abc.py
----test_bcd.py
----test_cde.py
----conftest.py
conftest.py содержит всю инициализацию контекста искры, необходимую для запуска модульного теста.Моя проблема в том, что я хотел бы иметь файл test.py
, который внутренне запускает все test_abc.py
, test_bcd.py
и test_cde.py
.Это становится очень легко, когда мы имеем дело с utit_test модулем python, но я не уверен, как получить это через pytest модуль.Дайте мне знать, если по этому вопросу требуется больше разъяснений.
conftest.py выглядит примерно так:
import pytest
from pyspark import SQLContext
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
@pytest.fixture(scope="session")
def spark_context(request):
conf = (SparkConf().setMaster("local[2]").setAppName("pytest-pyspark-local-testing"))
request.addfinalizer(lambda: sc.stop())
sc = SparkContext(conf=conf).getOrCreate()
return sc
И один из test_abc.py выглядит примерно так:
import pytest
import os
from pyspark.sql import SQLContext
pytestmark = pytest.mark.usefixtures("spark_context")
def test_get_pc_browser_sql(spark_context):
"assert something"