我正在阅读来自here的angular路由测试的官方示例。我不明白heroClick()是如何触发点击的。
it('should tell ROUTER to navigate when hero clicked', () => {
heroClick(); <------- how does this work !? // trigger click on first inner <div class="hero">
// args passed to router.navigateByUrl() spy
const spy = router.navigateByUrl as jasmine.Spy;
const navArgs = spy.calls.first().args[0];
// expecting to navigate to id of the component's first hero
const id = comp.heroes[0].id;
expect(navArgs).toBe('/heroes/' + id, 'should nav to HeroDetail for first hero');
});下面是stackblitz示例的link
发布于 2021-05-08 20:46:11
heroClick是在第84行传递给tests()函数的参数。它是一个不接受任何参数也不返回任何内容的函数。在第120行,heroClick()调用传递给tests()的任何内容。
在第27行和第48行,调用tests(),传递不同的函数clickForShallow和clickForDeep,这两个函数在用法下面定义。这些函数通过与组件中的元素交互来模拟点击。
https://stackoverflow.com/questions/67447131
复制相似问题