问题标签 [testbed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 角度单元测试:TypeError:无法读取未定义的属性“根”
我正在我的 Angular 应用程序下进行单元测试。
我的 Angular 版本是 4.0.0。
我的组件如下所示:
component.ts
:
component.html
:
如您所见,我没有使用routeLink
.
在我的测试文件配置中,我已经这样做了:
component.spec.ts
:
尽管我已经导入NO_ERRORS_SCHEMA
并使用了 a mockRouter
,但路由似乎仍然出现此错误:
从日志的最后一行指向 53:27 行,这正是:
所以它似乎无法创建fixture。
有任何想法吗?
angular - MockBackend 我很困惑
所以我尝试测试包含服务的组件方法。我将向您展示一个示例,说明我为测试我的搜索方法所做的工作。
这是我包含搜索功能的组件:
这是我的服务
这是我正在做的测试,以检查我的服务是否有效(声明):
这是实际的测试
测试成功运行。我为服务函数设置什么参数并不重要,它仍然返回模拟数据。这就是为什么我很困惑。我以为我为服务提供了模拟数据,如果我使用错误的参数进行搜索,服务将不会返回任何内容,但事实并非如此。如果我做错了,有人可以解释一下吗?此外,即使从我的组件执行搜索方法,服务仍然会得到相同的结果。我如何真正理解测试是否正常。
angular - angular 5 testing - 全局配置测试平台
我想在 angular 5 的 angular-cli@1.50 项目中为所有测试套件导入某些模块,例如 ngrx Store、ngx translate 或 httpClientModule。
在生成的 test.ts 我添加了一个 test.configureTestingModule
仍然在 user.servive.spec.ts 它说没有商店的提供者。
user.service.spec.ts
user.service.spec 中的 Test.configureTestingModule 是否“覆盖”了 test.ts 中的那个?
如果是这样,如何在全局级别配置 TestBed 以避免导入重复的模块?
谢谢!
angular - 覆盖Angular TestBed中另一个模块中的组件
我正在编写 TestBed 单元测试。
有某个组件,它是被测组件的子组件。该子组件在测试运行时会导致错误。该子组件与测试本身无关;它只是造成问题。
我想用一个假人替换它,或者阻止它被添加。
有问题的组件来自被测组件模块以外的模块。
我试图制作一个存根/虚拟对象:
这是我的beforeEach
:
我试图覆盖组件模板,以防止错误:
我知道NO_ERRORS_SCHEMA
,但它没有帮助。
我也在尝试overrideModule
,但没有成功:
所以,问题是:是否可以覆盖ProblematicComponent
(在模块之外的模块中ComponentUnderTest
?
angular - Angular 4 单元测试(TestBed)非常慢
我有一些使用 Angular TestBed 的单元测试。即使测试非常简单,它们的运行速度也非常慢(平均每秒 1 个测试资产)。
即使在重新阅读 Angular 文档后,我也找不到性能如此糟糕的原因。
不使用 TestBed 的独立测试在几分之一秒内运行。
单元测试
目标组件(带模板)
业力配置
angular - Angular 4 - 失败:无法解析 ActivatedRoute 的所有参数:(?, ?, ?, ?, ?, ?, ?, ?)
我已参考以下链接来获得答案,但我找不到适合我的方案的任何有效解决方案。 错误:(SystemJS)无法解析ActivatedRoute的所有参数:(?,?,?,?,?,?,?,?)
因此,我一直在尝试从提供程序中删除激活的路由,但测试台仍然没有通过。表明
错误:ActivatedRoute 没有提供者!
所以这是我的代码,我想在使用Jasmine 的 Angular 应用程序中运行我的测试台。
获取错误
angular - Angular 4 测试 - 抛出 [object ErrorEvent]
我正在为我的角度应用程序完成测试台。但是 karma-jasmine 测试有问题,会报错
[对象错误事件] 抛出
我更新了 node_modules 作为我在以下链接中找到的解决方案 如何在我的 Karma/Jasmine 测试中调试“[object ErrorEvent] throwed”错误?
但是现在随机抛出错误,有时测试床完成时没有任何错误,有时会触发错误。有什么建议可以永久避免吗?
PS - 如果您需要更多资源,请在评论中告诉我。谢谢!
SomeComponent.spec.ts
unit-testing - debugElement 在我的 angular5 测试中返回 null
我希望使用angular.io doc中描述的主机组件来测试 anguar5 组件。
但是我的测试一直失败,因为
事实上,当我记录我的 fixture.debugElement 时,它返回 null。
我的测试代码是:
testing - 如何仅针对一项测试覆盖 Angular 5 中的 Provider?
在我的一个单元测试文件中,我必须用不同的模拟模拟多次相同的服务。
我看到函数overrideProvider存在,但我没有设法在测试中使用它。当我在“它”中使用它时,提供者不会改变。我没有找到调用此函数的示例。你能解释一下如何正确使用它吗?还是您有其他方法可以做到这一点?
angular - TypeError: undefined is not a constructor (评估 'this.service.getDat().subscribe')
我正在开发一个 Angular 4 应用程序,编写单元案例,我面临以下问题。
组件.ts
组件.spec.ts
更新了模拟服务文件的代码。你能帮我一个人让它工作吗?使用模拟服务和测试床框架。你能请人帮帮我吗…………………………………………………………………………………… ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ...................................................