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 მნიშვნელობებით. ეს სასარგებლოა ფუნქციის სხვადასხვა მონაცემებით შემოწმებისთვის.