• 0

كيف أشغّل pytest بالترتيب على Python؟

قمت باتباع run your tests in order والذي يشرح كيفية تشغيل مجموعة ملفات Python بالترتيب، بالكود التالي:

import pytest

@pytest.mark.order2
def test_foo():
    assert True

@pytest.mark.order1
def test_bar():
    assert True

لكني لاحظت أنه لا يتبع الترتيب المحدّد آنفاً، ما المشكلة؟ وكيف أحافظ على نفس الترتيب المُدرج في الكود السابق؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

أعتقد أن المكتبة المعتمدة في الكود الخاص بك لم يتمّ تحديثها منذ مدة، ما جعل البرنامج يصادف بعض الأخطاء، لكن بالمقابل هناك (run(order=N تعمل بشكل جيد، والتي سنستخدمها بالشكل التالي:

import pytest

@pytest.mark.run(order=3)
def test_three():
    assert True

@pytest.mark.run(order=4)
def test_four():
    assert True

@pytest.mark.run(order=2)
def test_two():
    assert True

@pytest.mark.run(order=1)
def test_one():
    assert True

ستلاحظ ظهور الرسالة التالية:

test.py::test_one PASSED
test.py::test_two PASSED
test.py::test_three PASSED
test.py::test_four PASSED

مما يعني أن العملية مرت دون أي خطأ.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن