【发布时间】:2018-07-09 21:44:54
【问题描述】:
我正在对一个应用程序进行单元测试,但我遇到了一个问题。我在下面用代码 sn-p 发布问题。
此代码用于弹出 yammer 窗口。
yam 变量是这样在组件外声明的
declare var yam: any;
@Component({
selector: 'cs-artifact-related',
templateUrl: './artifact-related.component.html',
styleUrls: ['./artifact-related.component.css']
})
在下面的方法中使用
public yammerWindowPopup(ownername, prjName): void {
yam.platform.yammerShareOpenPopup({
customButton: true,
defaultMessage: this.getYammerWindowPopupMessage(ownername, prjName),
pageUrl: this.copyArtifactUrl.split('?')[0]
});
}
我已经编写了以下代码来对此进行单元测试
it('should call yammerWindowPopup method', () => {
component.yammerWindowPopup("Owner1", "Test Project");
});
当我运行 ng test 时出现此错误
yam is not defined
限制是我不能在里面声明 yam,因为它是预先编写的代码。
所以我有两个问题
- 如何访问spec文件中定义在组件外部的变量?
- 如何解决上述错误? 请帮忙!
【问题讨论】:
标签: angular unit-testing jasmine karma-jasmine