我已经lookingaround和这个问题好像是recurring thing。但是,我发现的解决方案似乎都不适合我。如何添加Jasmine自定义匹配器Typescript定义?
使用下列内容:
{
"typescript": "2.3.2",
"jasmine-core": "2.6.1",
"@types/jasmine": "2.5.47"
}
我不能让打字稿合并含有我的自定义匹配定义的命名空间声明。
添加此:
declare namespace jasmine {
interface Matchers<T> {
toBeAnyOf(expected: jasmine.Expected<T>, expectationFailOutput?: any): boolean;
}
}
隐藏以前在jasmine
声明的所有其他类型。编译器输出错误,如:
[ts] Namespace 'jasmine' has no exported member 'CustomMatcherFactories'
[ts] Namespace 'jasmine' has no exported member 'CustomMatcher'.
是否有添加自定义的匹配,使其与打字稿发挥很好的任何适当的方式?
如果您使用的是tslint:recommended
规则集,则还有一个tslint
问题。这些规则不允许使用namespace
或module
关键字,所以我必须禁用linter(或更改"no-namespace"
规则)才能尝试此操作。如果这是“不推荐”,不确定如何解决扩展定义。
的 '声明' 的语句可以完美地愉快地停留在spec.ts文件。 – DJClayworth