Sobes.tech
Junior

Jakiego frameworka testowego użyłeś?

sobes.tech AI

Odpowiedź od AI

Używałem różnych frameworków testowych, w zależności od stosu technologicznego projektu i specyfiki testowania. Najczęściej używane to:

  • JUnit / TestNG do testowania aplikacji Java.
  • Pytest / unittest do testowania aplikacji Python.
  • NUnit / xUnit do testowania aplikacji .NET.
  • Mocha / Jest do testowania aplikacji JavaScript (w szczególności frontend).
  • Cypress / Selenium WebDriver do automatyzacji UI.
  • Rest-Assured do automatyzacji testów REST API w Java.
  • Requests + pytest do automatyzacji testów REST API w Pythonie.

Wybór frameworka zawsze opierał się na takich czynnikach jak:

  • Stos technologiczny aplikacji.
  • Wymagania dotyczące pokrycia testami (Unit, Integration, End-to-End).
  • Wsparcie dla integracji z systemami CI/CD.
  • Aktualność i aktywność społeczności frameworka.
  • Doświadczenie zespołu.

W projektach, gdzie wymagana była szeroka automatyzacja UI, aktywnie korzystałem z Selenium WebDriver z różnymi językami (Java, Python), a także Cypress dla szybszego i bardziej niezawodnego testowania aplikacji internetowych. Do testowania API najczęściej używałem specjalistycznych bibliotek zintegrowanych z ogólnymi frameworkami testowymi (np. Rest-Assured z JUnit).

Oto przykład użycia Pytest do prostego testu jednostkowego:

# test_example.py

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

def test_add_positive_numbers():
    # Test dodawania liczb dodatnich
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Test dodawania liczb ujemnych
    assert add(-1, -1) == -2

A to przykład użycia JUnit do podobnego testu:

// AdditionTest.java
import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.Test;

public class AdditionTest {

    public int add(int a, int b) {
        return a + b;
    }

    @Test
    void testAddPositiveNumbers() {
        // Test dodawania liczb dodatnich
        assertEquals(5, add(2, 3));
    }

    @Test
    void testAddNegativeNumbers() {
        // Test dodawania liczb ujemnych
        assertEquals(-2, add(-1, -1));
    }
}

Każdy framework ma swoje cechy i zalety, a wybór zawsze jest motywowany potrzebą jak najlepszego rozwiązania zadania testowego.