我在 Karma 上使用 Jasmine,在没有期望或断言的测试中出现以下断言错误:
1) should do something
name_of_the_test
Error: Expected '403c26ca-169d-4682-8baa-3f4b22c041f0' to be null.
at <Jasmine>
at /tmp/_karma_webpack_918807/commons.js:1:141508
一开始以为是测试的assertions/expectations里的东西,但是没有
expect
string equality的声明。我删除了所有的期望/断言,但它仍然失败了。我什至更进一步,我禁用了整个套件,但错误仍然会出现在另一个测试中。最重要的是,我在代码本身中没有断言。
这个期望误差从何而来?
这帮助我解决了我的问题:堆栈跟踪文件
/tmp/_karma_webpack_918807/commons.js:1:141508
是 all 您的测试的缩小版本。出于某种奇怪的原因,错误消息指向一个并非真正有问题的测试。一旦我检查了堆栈跟踪中包含的缩小版本(尝试阅读其中的代码不是很有趣:)),我发现了错误的测试并且我能够验证由两者之间的泄漏状态引起的中断断言测试运行。
这可能是 Karma 的错误以及他们报告错误的方式,但 - 不幸的是 - 它非常具有误导性