我一直在努力将Jasmine单元测试添加到我的Angular 2项目中,并且最近更新了一些NPM包。我看到两个不同的错误,我怀疑是相关的(因此将它们合并在一个问题中)。
首先,我收到一个构建错误,导致我无法构建项目。当我在Angular-CLI中运行> ng build时,所有的块看起来都是正确创建的,但是我得到一个错误的墙,指向我引用全局文档或窗口变量的每个地方。错误看起来像这样:
或者,换句话说,"找不到名称'窗口'。"这些引用在Visual Studio中没有更新,并且我已经使用它们多年没有任何问题,所以我猜这与最近更新我的Typescript版本有关?
同样,在我的新测试文件中,所有Jasmine引用都被修改为未知名称。
有趣的是,测试没有抱怨;它只是Visual Studio在我的测试文件中放置了标记。我已经查看了很多有关此问题的SO问题,发现没有一个解决方案可以解决我的问题。
这是我的tsconfig.json的样子:
我已检查过TypeRoots路径是否正确以及是否已安装这些NPM模块。
我的package.json:
答案 0 :(得分:6)
TypeScript配置应该有
"lib": ["dom", ...]
以便使用特定于浏览器的全局变量,包括document
。
为了使用Jasmine全局变量,必须安装@types/jasmine
包。