"在抛出所有\n [object ErrorEvent]后出现错误"--Angular 4 Unit测试

Tet*_*ush 7 angular angular-unit-test

当我正在进行Angular 4 Unit测试时,对于其中一个使用谷歌地图和agm包的页面显示错误

"在抛出所有\n [object ErrorEvent]之后抛出了一个错误

有谁知道可能是什么问题

控制台截图

小智 5

我也在寻找这个问题的解决方案,发现如果我像往常一样通过终端(ng test)运行我的测试,然后在 Karma runner Chrome 窗口中单击调试,然后打开我的开发控制台,我可以看到真实的输出错误。

我看到了使用附加标志运行单元测试的建议;这对我不起作用,但是可能值得一试:

  • CLI v6.x --sourceMap=false
  • CLI v1.x --sourcemaps=false

来源:https : //stackoverflow.com/a/46840229

就我而言,我正在模拟第三方包类,而我忘记在单元测试中模拟模拟类中的一个函数调用;它抛出了一个没有冒泡到终端的错误。

抱歉,这本身并不能解决错误,但也许它会让您更接近调试问题的症结并找到解决方案,就像对我所做的那样。


jam*_*500 5

对我来说,交换这个:

beforeEach(async(() => { //...
Run Code Online (Sandbox Code Playgroud)

为了这:

beforeEach(() => { //...
Run Code Online (Sandbox Code Playgroud)

在明显失败的测试之前运行的测试中,帮助我确定了真正的罪魁祸首。

详细信息:对于在整个套件中失败但在单独运行时通过的测试,我收到此错误。结果证明这是一个早期的测试,它是异步运行的,实际上失败了。

(该测试的模板在代码中存在错误,在此 Stack Overflow 答案的帮助下解决了。)


Ife*_*yan 5

在我自己的情况下,下面的代码段解决了我的问题。

  afterEach(() => {
    fixture.destroy();
    TestBed.resetTestingModule();
  });
Run Code Online (Sandbox Code Playgroud)