Code: Select all
VAR = "something"
< / Code>
in Constest.py < / h1>
import os
import sys
from unittest.mock import patch
TEST_DIR = os.path.dirname(os.path.realpath(__file__))
class MockThings():
def __init__(self):
self.setup()
def setup(self):
mock_var = patch('env.VAR').start()
mock_var.return_value = "updated"
def pytest_cmdline_main(config):
sys.path.append(TEST_DIR)
MockThings()
< /code>
In test_Something.py < /h1>
from env import VAR
def test_sample():
print(VAR)
# do something else here
assert False
def test_sample2():
print(VAR)
# do something else here
assert False
Ausführen des Tests wie erwartet fehlschlagen, aber unter dem Stdout heißt es:
dann ist der druck out korrekt (
Code: Select all
updated
Wie verspottete ich diese Variable und behandle sie nicht als Funktion? Ich weiß>