Sobes.tech
Senior

Kuidas lahendasid koodi dubleerimise probleemi testides?

sobes.tech AI

Vastus AI-lt

Lahendam koodi dubleerimise probleemi testides kasutatakse erinevaid lähenemisviise:

  • Ühiste funktsioonide ja meetodite eraldamine: korduvad tegevused viidatakse abifunktsioonidele või -meetoditele, mida kutsutakse erinevatest testidest.
  • Disainimustrite kasutamine: näiteks UI-testides aitab Page Object muster kapseldada kasutajaliidese elementidega suhtlemise, vähendades dubleerimist.
  • Testide parametriseerimine: võimaldab sama testi käivitada erinevate sisendandmetega, vältides koodi kopeerimist.
  • Fixture ja setup/teardown meetodite konfiguratsioon: ühised andmete ettevalmistus ja puhastamine toimub tsentraliseeritult.

Näide Pythonis pytest ja parametriseerimisega:

import pytest

def add(a, b):
    return a + b

@pytest.mark.parametrize("a,b,expected", [
    (1, 2, 3),
    (5, 7, 12),
    (0, 0, 0),
])
def test_add(a, b, expected):
    assert add(a, b) == expected

See lähenemine vähendab korduva koodi hulka ja lihtsustab testide hooldust.