Tworzenie prostych testów za pomocą Mocha i Chai

Budowanie podstawowego testu przy użyciu Mocha i Chai

Aby zbudować podstawowy test za pomocą Mocha i Chai, możesz wykonać następujące kroki:

1. Zainstaluj Mocha i Chai: użyj npm(Node Package Manager) do zainstalowania Mocha iw Chai swoim projekcie Node.js. Uruchom następujące polecenie w katalogu projektu:

npm install mocha chai --save-dev

2. Utwórz plik testowy: Utwórz nowy plik, na przykład test.js, i zaimportuj następujące deklaracje do użycia Mocha i Chai:

const chai = require('chai');  
const expect = chai.expect;  
  
describe('Example Test Suite',() => {  
  it('should pass the test',() => {  
    expect(2 + 2).to.equal(4);  
  });  
});

3. Uruchom test: Otwórz terminal i uruchom polecenie, mocha  aby wykonać testy. Jeśli wszystko pójdzie gładko, w terminalu zobaczysz wyniki.

Ten podstawowy test wykorzystuje Mocha i Chai do sprawdzenia prostej kalkulacji. W powyższym przykładzie sprawdzamy, czy wynik operacji 2 + 2 powinien być równy 4. Jeśli wynik jest prawidłowy, test zostanie zaliczony.

Dodając describe  i it  blokując, możesz budować bardziej złożone testy i sprawdzać różne części kodu źródłowego.

Pamiętaj, że do testowania możesz także użyć innych metod asercji Chai, takich jak assert lub should. Konkretne użycie zależy od Twojego wyboru i sposobu organizacji kodu testowego.

 

Używanie twierdzeń i zapytań do weryfikacji wyników funkcji

Podczas używania Mocha i Chai testowania można używać asercji i zapytań do sprawdzania wyników funkcji. Oto kilka przykładów wykorzystania twierdzeń i zapytań do sprawdzania wyników funkcji:

1. Użyj expect asercji i to.equal zapytania, aby sprawdzić wynik funkcji, która zwraca określoną wartość:

const result = myFunction();  
expect(result).to.equal(expectedValue);

2. Użyj asercji `expect` i zapytania to.be.true lub to.be.false do sprawdzenia wyniku funkcji, która zwraca wartość logiczną:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. Użyj asercji `expect` i to.be.null zapytania or to.be.undefined aby sprawdzić wynik funkcji, która zwraca wartość null lub undefined:

const result = myFunction();  
expect(result).to.be.null; // or expect(result).to.be.undefined;

4. Użyj expect asercji i to.include zapytania, aby sprawdzić, czy wartość jest zawarta w tablicy lub łańcuchu:

const result = myFunction();  
expect(result).to.include(expectedValue);

5. Użyj expect asercji i to.have.lengthOf zapytania, aby sprawdzić długość tablicy lub łańcucha:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

Te przykłady to tylko kilka z wielu sposobów używania twierdzeń i zapytań w Mocha celu Chai sprawdzania wyników funkcji. Możesz dostosować i używać odpowiednich twierdzeń i zapytań w oparciu o potrzeby testowania projektu.

 

Tworzenie udanych i nieudanych przypadków testowych

Podczas pisania przypadków testowych za pomocą Mocha i Chai ważne jest uwzględnienie zarówno scenariuszy pomyślnych, jak i niepowodzeń. Oto przykłady tworzenia przypadków testowych zarówno dla pomyślnego, jak i niepomyślnego scenariusza:

1. Udany przypadek testowy:

describe('myFunction',() => {  
  it('should return the expected result',() => {  
    // Arrange  
    const input = // provide the input for the function  
    const expected = // define the expected result  
  
    // Act  
    const result = myFunction(input);  
  
    // Assert  
    expect(result).to.equal(expected);  
  });  
});

2. Przypadek testowy awarii:

describe('myFunction',() => {  
  it('should throw an error when invalid input is provided',() => {  
    // Arrange  
    const invalidInput = // provide invalid input for the function  
  
    // Act and Assert  
    expect(() => myFunction(invalidInput)).to.throw(Error);  
  });  
});

W pomyślnym przypadku testowym definiujesz dane wejściowe dla funkcji i oczekiwany wynik. Następnie wywołujesz funkcję z danymi wejściowymi i potwierdzasz, że wynik jest zgodny z oczekiwaną wartością.

W przypadku testu awarii podajesz nieprawidłowe dane wejściowe do funkcji i twierdzisz, że zgłasza błąd. Zapewnia to, że funkcja prawidłowo obsługuje nieprawidłowe warunki wejściowe lub błędy.

Uwzględniając zarówno pomyślne, jak i niepowodzenia scenariuszy w przypadkach testowych, możesz upewnić się, że Twój kod jest dokładnie testowany i odpowiednio obsługuje różne sytuacje.