Saya sedang menulis ujian untuk VueJS dan saya mahu mengakses lapisan paling luar HTML. Walau bagaimanapun, tidak kira apa kaedah yang saya gunakan, lapisan paling luar sentiasa diabaikan. Bagaimanapun, saya boleh mengakses lapisan paling luar ini dan melakukan sesuatu dengannya (cth.outermostLayer.removeAttribute('key')
)
const originalHTML = ''; const component = { template: originalHTML }; const wrapper = mount(component); await flushPromises(); console.log(wrapper.element.querySelector('main')); // only return the inner main console.log(wrapper.element.getElementsByTagName('main')); //only the inner one content
Anda hanya boleh mendapatkan elemen dalaman kerana elemen luar adalah pembalut anda. Gunakan pilihan pemasangan
attachTo
.Anda kemudian boleh melakukan perkara berikut, walaupun saya rasa ini bergantung pada versi. Saya syorkan anda mengemas kini kepada yang terkini dan terhebat!
Ujian pantas mencadangkan atribut mungkin tidak disokong?
Dokumentasi:https://v1.test-utils.vuejs .org/api/options.html#attachto
Nota: Apabila menambahkan pada DOM, anda harus memanggil wrapper.destroy() pada penghujung ujian untuk mengalih keluar elemen yang diberikan daripada dokumen dan memusnahkan tika komponen.