ข้ามทั้งหมดทดสอบแทนที่จะแต่งห้องทดสอบกันและฟังก์ชันกับ@pytest.มาร์คskipif()?

0

คำถาม

ฉันมี pytest แฟ้มซึ่งต้องการให้สภาพแวดล้อมการเรียบร้อย ดังนั้นฉันเพิ่มทำตามตกแต่งบ้านทุกคนฟังก์ชัน.

@pytest.mark.skipif('password' not in os.environ,
                    reason='Environment variable "password" not set.')
def test_1(mock):
    ....

@pytest.mark.skipif('password' not in os.environ,
                    reason='Environment variable "password" not set.')
def test_2(mock):
    ....

@pytest.mark.skipif('password' not in os.environ,
                    reason='Environment variable "password" not set.')
def test_3(mock):
    ....

มันเป็นทางข้ามทั้งหมดทดสอบแทนที่จะแต่งห้องทดสอบกันและฟังก์ชัน?

BTW,มันก็แค่ข้ามการทดลองตรวจสอบกับการออกข้อความต่อไป. มันเป็นทางที่จะแสดงผลคำเตือนข้อมูลของหายตัวแปรสภาพแวดล้อม?

====== 25 skipped in 5.96s =======
pytest python
2021-11-24 03:54:51
1

คำตอบที่ดีที่สุด

2

คุณสามารถใช้เป็น fixture กับ autouse=True นั่นคงโดดสำหรับคุณ:

@pytest.fixture(autouse=True)
def skip_if_no_password():
    if 'password' in os.environ:
        yield
    else:
        pytest.skip('Environment variable "password" not set.')

อีกความเป็นไปได้คือต้องทำให้การทดลองตรวจสอบเข้าเรียนแล้วเอาปากกามาร์คเกอร์อยู่ที่ชั้นเรียนแทนที่จะเป็นอย่างที่พูดถึงลุคโดยเนลสันในคอมเมนท์พวกนี้สิ

2021-11-24 12:10:19

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่