Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度-因果报应单元测试不起作用,为什么?_Angular_Unit Testing_Jasmine_Karma Jasmine_Angular Unit Test - Fatal编程技术网

Angular 角度-因果报应单元测试不起作用,为什么?

Angular 角度-因果报应单元测试不起作用,为什么?,angular,unit-testing,jasmine,karma-jasmine,angular-unit-test,Angular,Unit Testing,Jasmine,Karma Jasmine,Angular Unit Test,正如标题所示,我想问一下,是否有人知道如何让这个单元测试通过的解决方案,在将支持服务添加到test123组件之后,无论我做什么,它都不再显示为true。 您需要提供注入组件的服务存根 providers: [ { provide: SupportService, useValue: supportServiceStub } ] 如果您在服务中定义supportServiceStub模拟函数,请在此处阅读更多内容以后,请将代码作为

正如标题所示,我想问一下,是否有人知道如何让这个单元测试通过的解决方案,在将支持服务添加到test123组件之后,无论我做什么,它都不再显示为true。

您需要提供注入组件的服务存根

 providers: [ 
     { 
         provide: SupportService,
         useValue: supportServiceStub 
     }
 ]

如果您在服务中定义supportServiceStub模拟函数,请在此处阅读更多内容

以后,请将代码作为代码而不是图像发布

正如您所概述的,代码存在许多问题。以下是一些:

  • 您向我们展示了服务函数
    secondsToTimeFormat()
    ,但在您调用的组件
    this.supportService.secondsToTime()
  • 在组件中,您使用看似对象的对象调用相同的函数,而不使用花括号
  • 在.spec文件中的测试床的提供者数组中不提供SupportService
  • 因为SupportService没有被模拟,所以它尝试调用真正的服务,这导致了您看到的
    路由器没有提供程序的错误。为了隔离这个组件,您应该用间谍来模拟服务调用
为了向大家展示所有这些实际工作,我把这些放在一起


有关如何执行所有这些操作的详细信息,请参阅。

谢谢您的帮助。我可以再问您一个关于Angle testin的问题吗?我已经添加/编辑了我应该测试的组件和html,我浏览了文档,并试图借助您的示例来做一些事情,但我无法让它工作。。。我可以问一下你是否有时间来检查一下,并发送关于如何工作的帮助:@Kiki-这真的应该是一个单独的问题,但我分叉了你的Stackblitz以编辑它,并在你的更新中提出了这个问题。注释太多细节了,所以我用更新的内容注释了代码。