CodeBlanks Logo Icon CodeBlanks

Özet - Test

Jest, RNTL ve fireEvent'i birleştirerek bir bileşen testi yazarsın.

Özet - Test

Bu grupta React Native testinin temelini öğrendin. Jest testleri çalıştırır; test ve expect sağlar. RNTL bileşenleri test ortamında çizer. render bir bileşeni çizer ve sorgu fonksiyonları döndürür.

getByText metni eşleşen öğeyi bulur; bulunamazsa hata fırlatır. fireEvent kullanıcı olaylarını simüle eder; press, changeText gibi metodlarla. Bu beşi birlikte, gerçek davranışı test eden sağlam testler yazarsın. Jest kırmızı/yeşil rapor verir; RNTL çizer, sorgular bulur, fireEvent etkileşir.

Uygulama Tam bir test yaz

Bir App bileşeni zaten tanımlı; butona basınca sayaç artar. render(<App />) ile çiz. fireEvent.press(getByText('Artır')) ile bas. expect(getByText('1')).toBeTruthy() ile denetle. Test adı 'artar' olsun.

Başlangıç kodu

App.js
// render ve fireEvent'i içe aktar

// 'artar' adında bir test yaz
// render ile App'i çiz; fireEvent.press ile 'Artır' butonuna bas; getByText ile '1' i denetle

Örnek çözüm

App.js
import { render, fireEvent } from "@testing-library/react-native";

test("artar", () => {
  const { getByText } = render(<App />);
  fireEvent.press(getByText("Artır"));
  expect(getByText("1")).toBeTruthy();
});

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir butona tıklamayı simüle eden?

App.js
fireEvent.???(button);
  • render
  • getByText
  • fireEvent Doğru cevap
  • expect

Açıklama: fireEvent.press butona basmayı simüle eder.

2 Aracı amacına eşle

Kavram Anlamı
Jest Test çalıştırır
RNTL Bileşeni çizer
render Sorgu döndürür
getByText Metinle bulur
fireEvent Olay simüle eder

3 RNTL import

Soru
import { render, fireEvent } from '____';
Cevap
import { render, fireEvent } from '@testing-library/react-native';

Açıklama: RNTL bu paketten içe aktarılır.

Orta seviye bölümündeki tüm dersler