Apa yang Anda harapkan terjadi? Saya berharap jumlah sinon.fakeServer.requests lebih dari 1
Apa yang sebenarnya terjadi sinon.fakeServer.requests selalu null
Cara memperbanyak
describe('--Pictures Selector--', () => {
let server, store, wrap;
beforeEach(() => {
server = sinon.fakeServer.create();
server.respondWith("GET", /\/api\/users/, [
200, {"Content-Type":"application/json"}, JSON.stringify(mock_pictures_list_store)
]);
store = new Pictures_List_Store([]);
wrap = mount(
<Selectable_Picture_List store={store} />
);
axios.get('http://localhost:9157/api/users/5/images/30/0');
console.log("%c server.requests", "color: #C78B41", server.requests);
});
afterEach(() => {
server.restore();
});
it('render drop zone', () => {
server.respond();
console.log("%c server.requests", "color: #C78B41", server.requests);
expect(wrap.find('Dropzone')).to.have.length(1);
});
});
Saya memanggil permintaan
axios.get
langsung dalam kode pengujian dan juga dipanggil dalam metode componentWillMount
dari komponen react.js
axios.get()
tidak sinkron. Ini berarti bahwa ketika baris console.log
berjalan, xmlhttprequest
belum dibuat.
Terima kasih atas jawabannya. Tetapi jika saya menggunakan server.autoRespond = true;
atau server.respondImmediately = true;
atau server.respond();
server.requests masih kosong. Benarkah hal-hal itu tidak berhasil?
Apakah ada cara untuk meluncurkan pengujian HTML dengan fakeServer ?
Apakah ada cara untuk meluncurkan pengujian HTML dengan fakeServer ?
Ya, ada .
Solusi untuk melihat permintaan di beforeEach
atas ada dua:
beforeEach
console.log
Perubahan akan terlihat seperti:
beforeEach(done => {
// ...
axios.get(...);
setTimeout(() => {
console.log("%c server.requests", "color: #C78B41", server.requests);
done();
});
});
Wow. Itu berhasil! Terima kasih. Akhirnya, saya mendapatkan cara untuk membuat tes yang diperlukan.
Komentar yang paling membantu
Ya, ada .
Solusi untuk melihat permintaan di
beforeEach
atas ada dua:beforeEach
console.log
Perubahan akan terlihat seperti: