Kami baru-baru ini bermigrasi ke angular 1.4, dan kami melihat beberapa pengujian sesekali gagal karena status yang tersisa di antara pengujian dalam cookie. Tampaknya ejekan cookie telah dihapus dari tiruan sudut di versi terbaru. Saya memiliki beberapa plunks untuk mengilustrasikan intinya.
Di sini, di sudut 1.3, cookie disetel di $cookieStore dalam satu pengujian, dan tidak didefinisikan dalam $cookieStore dalam pengujian berikutnya:
http://plnkr.co/edit/WbRKACxBvJkHUmJwntN4?p=preview
Namun, di sudut 1.4, cookie masih disetel pada pengujian berikutnya, menyebabkannya gagal:
http://plnkr.co/edit/c6jpOmmSuufSYvQysdTQ?p=preview
Apakah fungsi ini sengaja dihapus, dan jika demikian, dapatkah Anda memberi tahu saya apa solusi yang dimaksud?
@shahata apakah Anda tahu mengapa ada perbedaan?
@Narretz Dalam versi Angular sebelumnya, $browser.cookies()
benar-benar diejek oleh ngMock
dan menulis cookie melalui $cookies
menulis ke peta dalam memori dan bukan browser. Kami telah membahas ini di masa lalu dan mempertimbangkan untuk menambahkan test-kit yang menghubungkan ke mekanisme cookie baru dan memberikan alat yang memverifikasi bahwa cookie ditulis dengan parameter yang benar (ini bukan lagi hanya tentang nilai cookie), tapi saya rasa tidak ini sangat kritis.
@butchpeters Saya pikir cara terbaik untuk pergi adalah bagi Anda untuk mengejek $cookies
dalam pengujian Anda:
module({$cookies: {
store:{},
put: function (key, value) { this.store[key] = value; },
get: function (key) { return this.store[key]; }
}});
Inilah plunker yang diperbaiki: http://plnkr.co/edit/LTQHDtDM5FOiTiXl2waT?p=preview
Apakah tim Angular percaya bahwa tidak ada yang perlu menguji pengaturan dan mendapatkan cookie dengan ngCookies? Saya terkejut mengetahui bahwa setahun setelah rilis 1.4 ini masih belum ditangani.
Komentar yang paling membantu
Apakah tim Angular percaya bahwa tidak ada yang perlu menguji pengaturan dan mendapatkan cookie dengan ngCookies? Saya terkejut mengetahui bahwa setahun setelah rilis 1.4 ini masih belum ditangani.