这个angular2单元测试设置有什么问题?

这个angular2单元测试设置有什么问题?,angular,Angular,它在“descripe”和“beforeach”上抛出错误,表示找不到名称。我已经读到,您不再需要在RC5中导入这些内容,但仍然存在一些问题。我已经安装了最新的jasmine和karma软件包。您安装了jasmine的TypeScript定义文件吗?是的,我已经安装了jasmine和karma的最新版本。奇怪的是,descripe和before都是在jasmine TypeScript定义文件中定义的。我成功地使用了与您相同的代码。尝试比较其他环境设置。@robisim74我已根据angular

它在“descripe”和“beforeach”上抛出错误,表示找不到名称。我已经读到,您不再需要在RC5中导入这些内容,但仍然存在一些问题。我已经安装了最新的jasmine和karma软件包。

您安装了jasmine的TypeScript定义文件吗?是的,我已经安装了jasmine和karma的最新版本。奇怪的是,
descripe
before
都是在jasmine TypeScript定义文件中定义的。我成功地使用了与您相同的代码。尝试比较其他环境设置。@robisim74我已根据angular cli重做了结构,并且在应用程序目录中测试应用程序组件运行正常。但是,子目录中的任何测试都不会。是否有一个设置需要在某个地方更改,以告诉它在任何地方查找文件?如果TypeScript编译器找不到名称,
通过npm键入
全局依赖项
或新建
@types
就足够了。如果您有其他错误,您应该检查Karma的配置文件。您是否安装了Jasmine的TypeScript定义文件?是的,我将它们与最新的Jasmine和Karma一起安装。奇怪的是,
descripe
before都在Jasmine TypeScript定义文件中定义。我成功地使用了与您相同的代码。尝试比较其他环境设置。@robisim74我已根据angular cli重做了结构,并且在应用程序目录中测试应用程序组件运行正常。但是,子目录中的任何测试都不会。是否有一个设置需要在某个地方更改,以告诉它在任何地方查找文件?如果TypeScript编译器找不到名称,
通过npm键入
全局依赖项
或新建
@types
就足够了。如果您有其他错误,您应该检查Karma的配置文件。
import { MockBackend } from '@angular/http/testing';
import { Http, ConnectionBackend, BaseRequestOptions, Response, ResponseOptions } from '@angular/http';
import { Calculator } from '../classes/calculator';
import { tick, fakeAsync } from '@angular/core/testing/fake_async';
import { inject, TestBed, getTestBed } from '@angular/core/testing/test_bed';

describe('SearchService', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [
        {provide: Calculator, useClass: Calculator}
      ]
    });
  });
});