Bila-bila masa anda menggunakan .within() dalam ujian Cypress, anda mempunyai pilihan untuk menamakan pembolehubah elemen yang anda masukkan ke dalam fungsi body. Berikut ialah contoh di mana skop elemen dinamakan:
cy.get('#el').within(('optionallyNamedElement') => { cy.log('foo'); });
tetapi inilah satu lagi contoh yang berfungsi dengan sempurna di mana ia tidak:
cy.get('#el').within(() => { cy.log('foo'); });
Jika istilah elemen yang dinamakan tidak digunakan dalam badan fungsi, patutkah kita memberikannya nama apabila kita menulis kod ujian ini? Saya rasa kita patut.
Tidak mengapa jika seseorang datang bersama kemudian dan menukar nama ini, tetapi saya rasa ini adalah penghargaan kepada pengaturcara masa depan untuk memberi mereka nama semantik di sini untuk kegunaan masa hadapan. Nama ini mungkin menggunakan gaya yang konsisten merentas pangkalan kod ujian, atau hanya menyediakan cara untuk pengaturcara masa hadapan untuk mengelak daripada terperangkap pada masa hadapan dengan perlu berhenti seketika untuk menghasilkan nama. Ingat, pengaturcara masa hadapan itu mungkin anda!
Saya juga berpendapat bahawa menyediakan nama secara proaktif di sini menjadikan kod lebih jelas, boleh didekati dan boleh nyahpepijat. Dengan menamakan elemen tersebut, apabila pepijat timbul, anda sekurang-kurangnya mempunyai petunjuk tentang elemen apa yang fikirkan anda berada di dalamnya.
Apabila saya menggunakan .within() hari ini, saya sentiasa cuba mengingati untuk menamakan skop yang saya masukkan, walaupun pembolehubah itu tidak pernah digunakan dalam badan fungsi.
Atas ialah kandungan terperinci Mengenai penamaan unsur secara proaktif dalam blok Cypress .within(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!