簡體   English   中英

如果測試有錯誤,Karma不會失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM