Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა იგულისხმება პარამეტრების გამოყენებაში pytest-ით ჩატარებულ ტესტებში?

sobes.tech AI

პასუხი AI-სგან

pytest-ის პარამეტრიზაცია საშუალებას აძლევს ერთსა და იმავე ტესტის გაშვებას სხვადასხვა შემოსვლის მონაცემებით, რაც ამარტივებს მრავალ ვარიანტზე შემოწმებას კოდის დუბლირების გარეშე.

ამ მიზნით გამოიყენება @pytest.mark.parametrize დეკორატორი, რომელიც იღებს პარამეტრის სახელს და მნიშვნელობების ან მნიშვნელობათა ტუპების სიის.

მაგალითი:

import pytest

@pytest.mark.parametrize("input,expected", [
    (2, 4),
    (3, 9),
    (4, 16),
])
def test_square(input, expected):
    assert input * input == expected

ამ მაგალითში, test_square ტესტი სამი ჯერ შესრულდება სხვადასხვა input და expected მნიშვნელობებით. ეს სასარგებლოა ფუნქციის სხვადასხვა მონაცემებით შემოწმებისთვის.