0/12 selesai APK

11 Testability

Bersepakat dengan developer soal ID yang stabil.

40 menit · 3 konsep · 1 misi

Konsep inti

  1. 11.1

    Dipasang developer

    Di Flutter lewat Semantics identifier.

    Semantics(
      identifier: 'order_submit_button',
      child: …,
    )
  2. 11.2

    Satu sumber ID

    Semua ID di satu file, dilarang rename.

    class TestIds {
      static const orderSubmitButton =
          'order_submit_button';
    }
  3. 11.3

    Platform lain

    Konsepnya sama, namanya beda.

    React Native → testID
    Android native → resource-id
Layar order_form_screen di app Laundry Kiloan
order_form_screen

Praktik di playground

  1. Buka form pesanan
  2. Cek id parfum_chip_lavender di Studio
  3. Tambah ID baru, pakai di flow

Misi

Tambah satu ID baru di app, daftarkan, pakai di flow.

Lihat kunci jawabankunci/m11_testability.mdContoh referensi

Misi: tambah ID untuk penghitung karakter catatan (0/100) di form pesanan, daftarkan, lalu pakai di flow.

1. Daftarkan di satu sumber ID (`lib/testing/test_ids.dart`)

static const noteCounterText = 'note_counter_text';

2. Pasang lewat `TestId` (Semantics identifier), bukan `Key`

TestId(
  TestIds.noteCounterText,
  child: Text('${_noteCtrl.text.length}/100'),
)

3. Pakai di flow

- tapOn:
    id: note_input
- inputText: "pisahkan putih"
- assertVisible:
    id: note_counter_text
    text: "14/100"

Aturan tim: ID yang sudah dipakai flow tidak boleh di-rename atau dihapus. ID baru juga dicatat di README.

Unduh file

Rename ID diam-diam → semua flow yang memakainya gagal.