Bagaimana cara menjalankan tes yang ditulis menggunakan melati untuk skrip ketikan (sudut 2)?

Saya telah menulis tes unit menggunakan kerangka melati untuk aplikasi skrip sudut 2. Saya belum membuat proyek menggunakan Angular-cli. Saya menginstal Jasmine dan menulis pengujian unit untuk komponen sudut. Bagaimana cara menjalankan spec.ts ini? Saya mengikuti https://github.com/jasmine/jasmine-npm ini dan mencoba mengonfigurasi proyek saya untuk menjalankan tes. Tapi ini hanya berfungsi untuk file pengujian spec.js. Saya mencoba dengan karma dan tidak berhasil. Bagaimana cara mengatur lingkungan pengujian untuk menjalankan tes yang ditulis untuk skrip ketikan menggunakan melati?


person user2301    schedule 12.06.2017    source sumber
comment
kompilasi ke dalam javascript   -  person Max Koretskyi    schedule 12.06.2017
comment
@Maximus Kerangka melati tidak mengkompilasinya menjadi javascript? Saya harus menulis naskah untuk itu?   -  person user2301    schedule 12.06.2017
comment
Saya telah menambahkan jawabannya, periksa   -  person Max Koretskyi    schedule 12.06.2017


Jawaban (1)


Untuk mengkompilasi file typescript Anda menjadi javascript, gunakan kompiler tsc. Instal dengan menjalankan

$ npm i typescript
$ npm i typescript -g

Dan inisialisasi tsconfig.json:

$ tsc --init

Sekarang Anda dapat mengkompilasi file Anda hanya dengan menjalankan tsc di direktori proyek.

jasmine-npm menetapkan bahwa Anda harus menjalankan pengujian dengan mengeksekusi jasmine. Jadi Anda dapat menambahkan yang berikut ini ke package.json:

  "scripts": {
    "test": "tsc && jasmine"
  },

dan jalankan tes hanya dengan menjalankan:

$ npm test
person Max Koretskyi    schedule 12.06.2017
comment
Saya mencoba tetapi saya mendapatkan kesalahan ini setelah mengkompilasi skrip ketikan ke javascript import { TestBed } from '@angular/core/testing'; SyntaxError: Unexpected token import - person user2301; 13.06.2017
comment
Saya mengalami masalah yang sama, untuk mengatasinya pastikan bahwa dalam modul tsconfig.json: commonjs - person Steverob2k; 23.04.2019