Sinon: Menggunakan Sinon dengan Webpack dan Babel gagal saat diimpor

Dibuat pada 8 Sep 2015  ·  26Komentar  ·  Sumber: sinonjs/sinon

Saat mencoba mengimpor sinon dalam pengujian dengan "import sinon from 'sinon'" atau "var sinon = require ('sinon')". Saya mendapatkan kesalahan berikut:

TypeError: 'undefined' bukan sebuah objek (mengevaluasi 'modules [moduleId] .call')

Sekarang sinon tidak dapat digunakan dalam proyek ES6. Apakah mungkin untuk memperbaikinya?

var sinon = membutuhkan ('sinon');

1.x AMD Bug Help wanted

Komentar yang paling membantu

PS. Anda bisa mendapatkan pra-rilis 2.0 dengan melakukan npm install sinon @ next

Semua 26 komentar

Apakah Anda menggunakan sinon dari npm? Versi yang mana

Masalah webpack ini mencakup hal yang sama, tanpa solusi yang solid dan banyak penyelesaian masalah: webpack / webpack # 304. Ini bukan kesalahan yang sama persis, tetapi pada dasarnya masalah yang sama.

Ya, saya menggunakan versi npm terbaru.

Ya, saya menggunakan versi npm terbaru.

Hanya demi sejarah, alangkah baiknya jika Anda dapat memberikan nomor versinya. Pembaca utas ini di masa mendatang akan mengetahui versi mana yang Anda bicarakan.

Masalah webpack ini mencakup hal yang sama, tanpa solusi yang solid dan banyak penyelesaian masalah: webpack / webpack # 304. Ini bukan kesalahan yang sama persis, tetapi pada dasarnya masalah yang sama.

Ya, sepertinya module-_mess_ di Sinon semakin menjadi masalah. Saya telah mencoba beberapa kali untuk menulis ulang untuk CommonJS, tetapi semuanya rumit . Permintaan tarik diterima :)

Saya telah membuat tiket untuk pekerjaan mendapatkan sumber yang ditransfer ke CommonJS # 834, yang kemungkinan besar akan meniadakan masalah ini.

Saya pikir masalah ini diselesaikan sekarang di master dengan # 850

Ada pembaruan tentang ini? # 850 tidak menyelesaikan masalah.

PS: Saya menggunakan v1.17.0

@Robertmw Anda dapat mencoba mengarahkan sinon ke git di package.json untuk mendapatkan master terbaru dan melihat apakah itu membantu

@grassator Saya mencoba dengan git di bawah ini dari https://github.com/webpack/webpack/issues/304#issuecomment -136922511 tetapi saya akan mencobanya dengan git asli segera.

devDependencies: {
     "sinon": "git+https://github.com/uberVU/Sinon.JS"
 }

@grassator Saya dapat mengonfirmasi bahwa saat itu ketergantungan pada package.json ke:

"sinon": "git+https://github.com/sinonjs/sinon.git"

memecahkan masalah saya dengan Webpack.

Saya juga menghadapi masalah yang sama. Untuk saat ini, saya menggunakan require('sinon') sebelum saya menginisialisasi babel.

@tusharmath :

@ fatso83 Saya dapat mengonfirmasi bahwa menggunakan master memperbaiki masalah. Mohon maaf atas perbaikan yang tidak akan berhasil menjadi 1.x.

Rilis 2.0 akan segera terjadi, jadi tidak ada yang perlu disesalkan

Saya memiliki proyek yang mengandalkan sinon-2.0 branch (git: //github.com/cjohansen/Sinon.JS.git#sinon-2.0). Ini telah bekerja dengan baik sampai saya mencobanya hari ini. Cabang itu sepertinya telah lenyap. Apakah sudah ada pengganti yang cocok untuk cabang ini?

@ frank-weindel: Cabang master secara efektif menjadi 2.0, jadi Anda bisa menunjukkannya. Pra-rilis 2.0 harus ada di NPM dalam beberapa hari.

PS. Anda bisa mendapatkan pra-rilis 2.0 dengan melakukan npm install sinon @ next

ada update kapan sinon 2 akan menjadi @latest, bukan @next?

Kami membutuhkan bantuan untuk mengeluarkan Sinon 2. Lihat # 991 dan # 1000 (dan masalah terkait) untuk masalah besar yang tersisa jika Anda dapat meluangkan waktu untuk membantu kami.

Catatan # 966 melacak tugas-tugas luar biasa yang diperlukan untuk pengiriman Sinon 2.0 yang menggunakan modul CommonJS secara internal - sangat membantu dalam mengeluarkannya.

coba gunakan sebagai plugin webpack

...
plugins: [
        new webpack.ProvidePlugin( {
          'sinon': 'sinon'
       })
      ],
...

Sekadar catatan, menggunakannya seperti webpack.ProvidePlugin juga tidak berhasil.

Secara pribadi saya baru saja berhenti menggunakan Karma dan karenanya tidak memerlukan Webpack untuk pengujian unit. Itu membuat mereka lebih cepat untuk berlari juga. Apakah masalah ini masih ada? Jika tidak, kita bisa menutupnya.

Masalah masih ada di sinon <2.0, yang masih belum dirilis secara resmi. Saya sarankan untuk menutup masalah ini dengan perbaikan atau saat sinon 2.0 dikirimkan.

Ini berfungsi di Sinon 2.0 dan README telah lama memiliki PERINGATAN YANG

Apakah halaman ini membantu?
0 / 5 - 0 peringkat