当我正在进行Angular 4 Unit测试时,其中一个使用谷歌地图和agm包的页面显示错误
“抛出所有\ n [对象ErrorEvent]
后抛出错误有没有人知道可能是什么问题
答案 0 :(得分:3)
我也在寻找解决此问题的方法,发现如果我通过终端(ng test)像往常一样运行测试,然后在KarmaRunner Chrome窗口中单击debug,然后打开开发控制台,则可以看到错误的实际输出。
我看到了一个建议,以额外的标志运行单元测试;这对我不起作用,但是可能值得一试:
- CLI v6.x --sourceMap = false
- CLI v1.x --sourcemaps = false
来源:https://stackoverflow.com/a/46840229
在我的情况下,我正在模拟第三方程序包类,而我却忘记了在单元测试中模拟该模拟类中的一个函数调用;它抛出了一个错误,并没有冒充到终端。
很抱歉,这本身并不能解决错误,但是也许可以使您更接近调试问题的关键并找到对我有用的解决方案。
答案 1 :(得分:1)
对我来说,交换一下:
beforeEach(async(() => { //...
为此:
beforeEach(() => { //...
在一项显然失败的测试之前,它帮助我确定了真正的罪魁祸首。
详细信息:对于在整个套件中失败但在单独运行时通过的测试,我遇到此错误。事实证明,这是一个较早的测试,它是异步运行的,实际上是失败的。
(该测试的模板中的代码有错误,在this Stack Overflow answer的帮助下得以解决。)
答案 2 :(得分:1)
就我而言,下面的代码段解决了我的问题。
afterEach(() => {
fixture.destroy();
TestBed.resetTestingModule();
});