[英]Karma don’t fail if tests have errors
當由於錯誤(如語法錯誤)而無法由Karma運行測試時,Karma會抱怨這樣的警告:
INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Linux)]: Connected on socket WT-AsaXZq4odkQe2DgZJ with id 10861626
WARN [web-server]: 404: /undefinedhttp%3A%2F%2Flocalhost%3A9876%2Fbase%2Ftests%2Funit%2Fjs%2Fspecs%2Fcore%2FDeviceSpec.js%3F1e346ab1ad6e6e9240be6a6d5effaaa8f0dd96d8/9/%22ReferenceError%3A%20Can't%20find%20variable%3A%20SYNTAXERROR%22
非轉義的最后一行是:“/ undefinedhttp://localhost:9876/base/tests/unit/js/specs/core/DeviceSpec.js?1e346ab1ad6e6e9240be6a6d5effaaa8f0dd96d8/9/"ReferenceError:找不到變量:SYNTAXERROR”“
這是正確的,因為我在我的測試中的某個地方插入了SYNTAXERROR以用於該問題。
所以測試被忽略但是,由於其他測試都沒問題,因此Karma返回測試已通過:
PhantomJS 1.9.8 (Linux): Executed 41 of 41 SUCCESS (0.354 secs / 0.016 secs)
➜ echo $?
0
如果Karma無法執行所有測試,我希望Karma失敗 (我不認為有任何理由!)。
我沒有找到任何配置變量來這樣做。
我找到了Karma打印上面警告的行,但我不明白為什么它被處理為404 ...
任何想法使Karma無法執行所有測試時失敗?
我使用的腳本如果由karma顯示WARN
則會失敗:
#!/bin/bash
set -eo pipefail
mkdir -p tests/unit/js/dist || true
./node_modules/.bin/karma start tests/unit/js/karma.conf.js --port 9875 | tee tests/unit/js/dist/results.txt
if grep 'WARN' tests/unit/js/dist/results.txt; then
exit 1
else
exit 0
fi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.