ฉันต้องเป็นศูนย์ควบคุม kde ในโมดูลตั้งค่าเวลาอย่างน้อยตาม:
# foo.py
def generate_things_based_on_other_things():
# some nasty things here
# bar.py
from foo import generate_things_based_on_other_things as generate
def coo():
generate()
# conftest.py
import pytest
@pytest.fixture(autouse=True)
def patch_generate(monkeypatch):
def mock_generate():
print("hello!")
monkeypatch.setattr("app.bar.generate", mock_generate)
# test_bar.py
from bar import coo
def test_coo():
coo()
เป็นส่วนหนึ่ง นี้ตอบ ดิฉันไปตรวจสอบให้แน่ใจว่าต้อง monkeypatch จริงๆอย่างเช่นย้ายจดหมายที่หมดอายุของฟังก์ชัน. มีอีกทางปา "does not exist on module"
ข้อผิดพลาด
แต่เมื่อฉันวิ่งทดสอบฉันยิงโดนข้อผิดพลาดเกิดขึ้นระหว่างเพราะพวกดั้งเดิมฟังก์ชัน generate
ถูกเรียกแม้ว่ามันเป็น monkeypatched.
ผมยังคิดไม่ออกเลยว่าทำไมมันถึงรอยปะจะไม่อยู่อย่างที่ฉันคิดว่ามันเหมือนกัน
ฉันคาดหวังแบบทดสอบนี้เพื่อพิมพ์"สวัสดี!".