import pytest
@pytest.fixture
def new_object():
return list()
@pytest.fixture
def a_string(new_object):
# Change this instance of the object
new_object.append(1)
return "a string"
def test_1(new_object):
assert len(new_object) == 0
def test_2(a_string, new_object):
assert len(new_object) == 0
< /code>
Der erste Test geht jedoch durch, aber der zweite fällt fehl. def test_2(a_string, new_object):
> assert len(new_object) == 0
E assert 1 == 0
E + where 1 = len([1])
tests/test_pytest_list.py:21: AssertionError
================================================ short test summary info =================================================
FAILED tests/test_pytest_list.py::test_2 - assert 1 == 0
============================================== 1 failed, 1 passed in 0.36s ===============================================
< /code>
Ich erwartete, dass Feorturen neue Instanzen eines Objekts übergeben würden (sofern nicht anders angegeben), nicht das gleiche Objekt, das eine andere Fixture geändert hat. /> qualifiziert sich ein anderes Gerät nicht als Funktion? class = "Lang-Py PrettyPrint-Override">@pytest.fixture
def new_object():
"""I want to test instances of this class"""
return list()
@pytest.fixture
def case_1(new_object):
new_object.append(1)
return new_object
@pytest.fixture
def case_2(new_object):
new_object.append(2)
return new_object
def test_cases(case_1, case_2):
assert sum(case_1) + sum(case_2) == 3 # fails: assert (3 + 3) == 3
Ich bin sehr verblüfft und ist ein wenig besorgt, um das folgende Verhalten zu entdecken, bei dem ich zwei Tests und zwei Vorrichtungen habe.[code]import pytest
@pytest.fixture def new_object(): return list()
@pytest.fixture def a_string(new_object): # Change this instance of the object new_object.append(1) return "a string"
< /code> Der erste Test geht jedoch durch, aber der zweite fällt fehl. def test_2(a_string, new_object): > assert len(new_object) == 0 E assert 1 == 0 E + where 1 = len([1])
tests/test_pytest_list.py:21: AssertionError ================================================ short test summary info ================================================= FAILED tests/test_pytest_list.py::test_2 - assert 1 == 0 ============================================== 1 failed, 1 passed in 0.36s =============================================== < /code> Ich erwartete, dass Feorturen neue Instanzen eines Objekts übergeben würden (sofern nicht anders angegeben), nicht das gleiche Objekt, das eine andere Fixture geändert hat. /> qualifiziert sich ein anderes Gerät nicht als Funktion? class = "Lang-Py PrettyPrint-Override">@pytest.fixture def new_object(): """I want to test instances of this class""" return list()
Ich habe Code, der Twisted verwendet, also habe ich eine Testfunktion dafür geschrieben und ihn mit @pyTest_twisted.EnsuredEferred dekoriert. Die Funktion wartet auf einige Aufschiebungen. Dann muss...
Ich habe zwei DB -Tabellen, eine für Rezepte und eine für Zutaten, aber wenn ich versuche, die Datenbank zu aktualisieren, wird die oben genannte Ausnahme ausgelöst.
Mein API -Controller ist...
In diesem Code möchte ich die Vorder- und Rückseite ändern, wenn ich sie separat verwende, funktioniert
aber in diesem Code ändert es nicht die Vorderfarbe in VSCODE -Terminal, sondern in anderen...