我正在尝试设置测试用例,这是我第一次使用小袋鼠。
在我的项目中,我有一个spec.ts
,我正在尝试测试,但是下面的内容显示我下面有一条令人讨厌的红线:
import {beforeEach, beforeEachProviders, describe, expect, it, inject, } from '@angular/core/testing';
我使用了angular-cli所以应该设置一切并且看起来正确。
此特定路径为src-> app-> home -> home.component.spec.ts
我尝试通过执行以下操作来设置wallaby.js:
module.exports = function () {
return {
files: ['src/app/home/home.component.spec.ts'],
tests: ['src/app/**/*spec.ts'],
env: {
type: 'node',
runner: 'node',
params: {
runner: '--harmony'
}
},
testFramework: 'jest'
};
};
的package.json
{
"name": "demo-test-app",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
},
"private": true,
"dependencies": {
"@angular/common": "^2.3.1",
"@angular/compiler": "^2.3.1",
"@angular/core": "^2.3.1",
"@angular/forms": "^2.3.1",
"@angular/http": "^2.3.1",
"@angular/platform-browser": "^2.3.1",
"@angular/platform-browser-dynamic": "^2.3.1",
"@angular/router": "^3.3.1",
"core-js": "^2.4.1",
"rxjs": "^5.0.1",
"ts-helpers": "^1.1.1",
"zone.js": "^0.7.2"
},
"devDependencies": {
"@angular/compiler-cli": "^2.3.1",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.42",
"angular-cli": "1.0.0-beta.24",
"codelyzer": "~2.0.0-beta.1",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "~4.0.13",
"ts-node": "1.2.1",
"tslint": "^4.0.2",
"typescript": "~2.0.3"
}
}
所以我完全无法运行测试并使用我发现的这个神奇的新工具。任何建议将不胜感激。
该项目位于 GitHub HERE
答案 0 :(得分:1)
我不知道你需要在哪里导入所有这些东西,但这已经过时了。我认为这是预判前的方式。所有内容(inject
和beforeEachProviders
除外)都是由jasmine全局提供的。您应该可以使用它们而无需执行任何操作,因为您已经安装了jasmine-core
和@types/jasmine
。
同样inject
仍在使用,但beforeEachProviders
在模块后时代甚至不再存在。如果你正在阅读一个教程,我建议使用至少使用Angular 2.0.0 final的一个,否则很多东西都会过时。或者更好的是,使用the documentation。
另外,我从未使用过wallaby,所以我不确定它是否依赖于您安装了测试框架,但如果是,那么您应该将测试框架更改为jasmine,因为这就是您安装的内容。否则,我从未使用过开玩笑,所以我无法就此提出任何建议。