【发布时间】:2017-02-26 19:52:54
【问题描述】:
我正在尝试将单元测试添加到我的 Angular 2 应用程序中。在我的一个组件中,有一个带有(click) 处理程序的按钮。当用户单击按钮时,会调用在.ts 类文件中定义的函数。该函数在 console.log 窗口中打印一条消息,说明该按钮已被按下。我当前的测试代码测试打印console.log 消息:
describe('Component: ComponentToBeTested', () => {
var component: ComponentToBeTested;
beforeEach(() => {
component = new ComponentToBeTested();
spyOn(console, 'log');
});
it('should call onEditButtonClick() and print console.log', () => {
component.onEditButtonClick();
expect(console.log).toHaveBeenCalledWith('Edit button has been clicked!);
});
});
但是,这仅测试控制器类,而不是 HTML。我不只是想测试在调用onEditButtonClick 时是否发生了日志记录;我还想测试当用户单击组件的 HTML 文件中定义的编辑按钮时调用 onEditButtonClick。我该怎么做?
【问题讨论】:
标签: angular typescript jasmine