Jalankan perintah lain terlepas dari keberhasilan tes busur derajat

Tujuan: Saya ingin selalu menjalankan skrip simpul lain tidak peduli apakah pengujian busur derajat semuanya lulus atau tidak. Agar lebih mudah, saya menggunakan perintah berikut:

protractor tests/protractor-config.js ; npm run uitest

Masalah: Output dari perintah di atas adalah:

$ [email protected] e2e E:\IRIS\IRIS\Iris.Cloud\Iris.Web.Portal
$ protractor tests/protractor-config.js ";" "npm" "run" "uitests"
Usage: protractor [configFile] [options]
configFile defaults to protractor.conf.js
The [options] object will override values from the config file.
See the reference config for a full list of options.

Pemahaman: Menurut saya busur derajat CLI tidak menangani titik koma dengan benar. Ketika saya mencoba

protractor tests/protractor-config.js && npm run uitest

Ini berfungsi seperti yang diharapkan.

Konfigurasi saya Saya menggunakan busur [email protected].

Adakah yang pernah menemui masalah ini sebelumnya. Terima kasih!


person Yan Xu    schedule 01.08.2018    source sumber


Jawaban (1)


Alasan protractor tests/protractor-config.js ; npm run uitest gagal adalah karena busur derajat mengambil ; npm run uitest sebagai opsi pada perintah busur derajat.

Alasan tes kedua berhasil untuk Anda adalah karena tesnya lulus; && adalah operator AND, jadi dugaan saya adalah jika tes Anda gagal npm run ui tests tidak akan berjalan. karena false && <anything else> akan menghasilkan false & tidak akan dievaluasi.

Contoh : ls <non-existent directory && echo2 akan menghasilkan ls: <non_existent directory name>: No such file or directory.

Oleh karena itu, jika Anda ingin menjalankan tugas terlepas dari apakah protractor tests/protractor-config.js lolos atau tidak, Anda mungkin ingin melihat https://docs.npmjs.com/misc/scripts.

Khususnya: tes npm, pretest & posttest

person Jagannath    schedule 02.08.2018
comment
Terima kasih atas jawaban anda! Namun yang masih belum saya pahami adalah mengapa '&& npm run uitests' tidak akan dijadikan opsi pada perintah busur derajat seperti halnya dengan '; npm jalankan uji coba'? - person Yan Xu; 03.08.2018
comment
@YanXu Operator AND (&&) adalah operator logika. Oleh karena itu perilaku tersebut di atas. Untuk perilakunya, Anda mungkin ingin melihat dokumennya. - person Jagannath; 12.08.2018