cy.spy yang memantau fungsi window.clearInterval
P粉023326773
P粉023326773 2023-08-17 12:16:34
0
1
406

Dalam aplikasi yang saya sedang bangunkan, saya menggunakan setInterval dan clearInterval. Saya mahu memantau kaedah clearInterval untuk melihat sama ada ia dipanggil. Inilah yang sebenarnya saya lakukan:

beforeEach(() ==> { cy.clock(Tarikh baharu()) }) it('Senario ujian' => { const fn = cy.spy(document.defaultView, 'clearInterval') //Juga mencuba fn = cy.spy(window, 'clearInterval') ... ... ... //Fungsi clearInterval dipanggil apabila memasuki bahagian `then`, tetapi stub melaporkan bahawa ia belum dipanggil lagi cy.tick(30000).then(() =>{ jangkakan(fn).untuk.telah.dipanggilSekali }) }) afterEach(() => { cy.clock().invoke('restore') })

Penegasan jangkaan dalam coretan di atas gagal, saya menjangka ia akan lulus. Adakah logik saya untuk memulakan pengintip itu sah|betul? Sebarang bantuan dengan isu di atas amat dihargai.

P粉023326773
P粉023326773

membalas semua (1)
P粉745412116

Cypress menggunakanwindowcy.spy(window...使用的是测试窗口,但要对应用程序窗口进行监视,您需要使用cy.window()perintah yang berbeza dalam ujian dan aplikasi.

let spy; cy.window().then(appWindow => { spy = cy.spy(appWindow, 'clearInterval') }) ... later expect(spy).to.have.been.calledOnce

Tetapi mungkin terdapat komplikasi lain, keranacy.clock()clearInterval()diletakkan dalam proksi supaya anda boleh mengawal fungsi masa aplikasi, jadi anda mungkin tidak dapat memantaunya.

Jika anda mendapati ia masih tidak berfungsi dengan baik, sila dapatkan nilai pulangancy.clock()dan lihat jika terdapat maklumat panggilan yang dilampirkan.

let clock; beforeEach(() => { clock = cy.clock(new Date()) })

atau nyatakan bahawaclearIntervaltidak boleh diproksikan

beforeEach(() => { cy.clock(new Date(), ['Date', 'setInterval']) // 仅代理Date和setInterval })
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!