'Better way to import modules in pytest

I need a cleaner way to import the modules into the test_file.py, I am using pytest for my test. My present pytest setup is like the below which works, but I need a more organised way to import the modules into the test functions without initializing the database client. The global variable is breaking my test when I import using the cleaner way.

conftest.py

import pytest

@pytest.fixture(autouse=True)
def no_request_cassandra_client(mocker):
    """Remove cassandra.cluster.Cluster for all tests."""
    mock_cass_cluster = mocker.patch("cassandra.cluster.Cluster")

test_file.py

import pytest

def test_car_class(no_request_cassandra_client): 
    from A.BMW import car
    car_func = car()
    assert car_func

This is what I want to have, but the car method has a global variable like the BMW.py, the test is breaking because of the Cluster(["Cluster_ip_address"]) with the cleaner solution.

Cleaner test_file.py

import pytest
from A.BMW import car

def test_car_class(): 
    car_func = car()
    assert car_func

BMW.py

from cassandra.cluster import Cluster

cluster = Cluster(["Cluster_ip_address"])
def car():
    x = 2 + 3
    print(x)
    return x


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source