Sinon: Server palsu Sinon tidak mempengaruhi aksio di node

Dibuat pada 19 Okt 2015  ·  6Komentar  ·  Sumber: sinonjs/sinon

Menggunakan server palsu Sinon tampaknya tidak mempengaruhi Axios yang menggunakan http di lingkungan node (dan XMLHttpRequest untuk browser).

Saya menggunakan Moka . Saya menghindari karma-runner karena saya tidak melihat perlunya. Tidak, kecuali simpul http tidak didukung.

Berikut demonya . Cukup klon dan jalankan npm test .

Komentar yang paling membantu

Saya memecahkan ini dengan menggunakan metode permintaan alias axios, alih-alih meneruskan konfigurasi dan memulai permintaan. Artinya, alih-alih
axios(config)

saya menggunakan
axios[method](url, data, config)

Jadi sekarang,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));

Ini lebih bersih daripada menggunakan perpustakaan moxios.

Jawaban Stackoverflow

Semua 6 komentar

Tes yang sebenarnya ada di sini: https://github.com/srph/axios-response-logger/blob/master/tests/spec.js

Saya akan menganggap pesanan mungkin menjelaskan perilaku tersebut, tetapi tidak yakin apakah pembuatan kotak pasir eksplisit adalah hal yang benar untuk dilakukan. Harus menyelidiki nanti.

Sepertinya masih tidak berfungsi dengan axios.

http://stackoverflow.com/q/41516044/340760

Tidak yakin mengapa saya tidak menutup ini pertama kali: setelah memeriksa ini saya melihat tes sedang dijalankan di Node.js. Itu benar-benar tidak didukung _natural_ untuk implementasi XHR. Apakah tes dijalankan di browser, katakanlah menggunakan mochify atau Karma, itu akan menjadi hal lain, karena rintisan XHR menargetkan lingkungan browser.

@brunolm : Saya masih belum melihat tes berjalan di browser yang gagal, jadi tidak akan ada yang melihat ini sampai itu terjadi. Detail tentang membuat rintisan XHR perpustakaan uji bekerja di lib HTTP untuk Node dan browser saat berjalan di Node jelas di luar jangkauan kami Jika Anda melakukan sesuatu seperti itu, saya akan mencoba membuat axios yang setara dengan supertest (untuk SuperAgent).

FYI: axios sudah memiliki perpustakaan stubbing sendiri, moxios .

Saya memecahkan ini dengan menggunakan metode permintaan alias axios, alih-alih meneruskan konfigurasi dan memulai permintaan. Artinya, alih-alih
axios(config)

saya menggunakan
axios[method](url, data, config)

Jadi sekarang,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));

Ini lebih bersih daripada menggunakan perpustakaan moxios.

Jawaban Stackoverflow

Apakah halaman ini membantu?
0 / 5 - 0 peringkat