Unit testing 角度2因果报应设置问题——因果报应开始但没有';t运行测试

Unit testing 角度2因果报应设置问题——因果报应开始但没有';t运行测试,unit-testing,angular,typescript,karma-jasmine,Unit Testing,Angular,Typescript,Karma Jasmine,简言之 我正在创建一个项目,从角度角度的Plunker代码开始 2“路由”示例(通过链接访问)。那个源头没有业力或茉莉花 配置烘焙 我一直试图将此添加到现有的 项目我当前的设置运行karma,但没有看到任何测试,无论是.js还是.ts 首先,我从链接开始。这说明我应该创建/app/1st.spec.ts: describe('lst tests', () => { it('true is true', () => expect(false).toBe(true)); })

简言之

  • 我正在创建一个项目,从角度角度的Plunker代码开始 2“路由”示例(通过链接访问)。那个源头没有业力或茉莉花 配置烘焙

  • 我一直试图将此添加到现有的 项目我当前的设置运行karma,但没有看到任何测试,无论是.js还是.ts

首先,我从链接开始。这说明我应该创建/app/1st.spec.ts:

describe('lst tests', () => {
    it('true is true', () => expect(false).toBe(true));
});
然后我运行了npm测试,但发现我没有因果报应能力。从那时起,我已经安装了各种软件包,基于。我的装置已成为:

npm install karma –save-dev
npm install karma-jasmine jasmine-core –save-dev
npm install karma-chrome-launcher –save-dev 
npm install karma-cli
npm install angular-mocks
npm install requirejs karma-requirejs
我运行“karma init”,尽我所能回答问题。我当前的karma.conf.js是(浓缩的):

My package.json是:

{
  "name": "MyProgram",
  "version": "0.1.0",
  "license": "MIT",
  "description": "MyProgram description",
    "scripts": {
      "start": "gulp copy-jit && concurrently \"npm run tsc:w\" \"npm run lite\" ",
      "lite": "lite-server",
      "tsc": "tsc",
      "tsc:w": "tsc -w",
      "aot": "ngc -p tsconfig-aot.json",
      "rollup": "rollup -c rollup-config.js",
      "start-aot": "npm run aot && npm run rollup && gulp copy-aot && npm run lite",
      "test": "karma start karma.conf.js"
  },
  "dependencies": {
    "@angular/common": "~2.2.4",
    "@angular/compiler": "~2.2.4",
    "@angular/compiler-cli": "~2.2.4",
    "@angular/core": "~2.2.4",
    "@angular/forms": "~2.2.4",
    "@angular/http": "~2.2.4",
    "@angular/platform-browser": "~2.2.4",
    "@angular/platform-browser-dynamic": "~2.2.4",
    "@angular/platform-server": "^2.2.4",
    "@angular/router": "~3.2.4",
    "@angular/upgrade": "~2.2.4",
    "angular-in-memory-web-api": "~0.1.5",
    "core-js": "^2.4.1",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.0.0-beta.12",
    "systemjs": "0.19.39",
    "zone.js": "^0.6.25"
  },
  "devDependencies": {
    "@types/core-js": "^0.9.34",
    "@types/jasmine": "^2.5.35",
    "@types/node": "^6.0.45",
    "@types/selenium-webdriver": "^2.53.32",
    "concurrently": "^3.0.0",
    "del": "^2.2.2",
    "gulp": "^3.9.1",
    "gulp-gzip": "^1.4.0",
    "gulp-load-plugins": "^1.3.0",
    "gulp-rename": "^1.2.2",
    "gulp-task-listing": "^1.0.1",
    "gulp-util": "^3.0.7",
    "jasmine-core": "^2.5.2",
    "karma": "^1.4.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-jasmine": "^1.1.0",
    "karma-requirejs": "^1.1.0",
    "lite-server": "^2.2.2",
    "rollup": "^0.36.1",
    "rollup-plugin-commonjs": "^5.0.4",
    "rollup-plugin-node-resolve": "^2.0.0",
    "rollup-plugin-uglify": "^1.0.1",
    "typescript": "^2.0.3"
  }
}
我希望通过您的回复解决以下问题:

  • Karma和Jasmine的正确角度2项目配置 测试
  • 能够创建Typescript源代码测试,并在Karma中检测和运行它们
谢谢

杰罗姆。

  • 我也在努力完成这个过程。我知道,如果您使用Angular CLI执行ng new,它将为您创建一个项目,并正确设置所有Karma stuff
  • ng测试npm测试类似,但速度似乎也快得多
  • package.json“scripts”部分控制“test”命令行选项
  • 我试图将它复制到《英雄之旅》第6部分,并成功地完成了1st.spec.ts,让Karma启动并翻转true=true到true=false
  • 但在这一点上,它说你可以在Chrome中加载1st.spec.ts,这对我也不起作用(第5点)
  • 我记录了跨多个站点复制文件的方法
  • 你也有额外的麻烦,Karma使用了一个版本的Node,它落后于使用LTS发布周期的时代。因此,设置nvm是明智的。看
      • 我也在努力完成这个过程。我知道,如果您使用Angular CLI执行ng new,它将为您创建一个项目,并正确设置所有Karma stuff
      • ng测试npm测试类似,但速度似乎也快得多
      • package.json“scripts”部分控制“test”命令行选项
      • 我试图将它复制到《英雄之旅》第6部分,并成功地完成了1st.spec.ts,让Karma启动并翻转true=true到true=false
      • 但在这一点上,它说你可以在Chrome中加载1st.spec.ts,这对我也不起作用(第5点)
      • 我记录了跨多个站点复制文件的方法
      • 你也有额外的麻烦,Karma使用了一个版本的Node,它落后于使用LTS发布周期的时代。因此,设置nvm是明智的。看

      这里有一个链接。您的链接非常好。它探索业力及其各种形态。从这篇文章、其他海报和我的经历来看,似乎我真的必须回到快速入门。在Angular 2成熟的这种状态下,没有一种定义良好的方法来诊断安装。我应该重新创建项目——或者删除节点_模块并重新安装。一旦我在我的电脑上加载了Quickstart,我看到了很多我无法通过修补来解决的小问题。我使用Angular Quickstart获得了环境的“新”版本。我的库大致从2.2.4版转换为2.4版。我将代码复制到新环境中。看到事情不顺利!开发人员似乎更改了Resolve接口的签名。幸运的是,路由教程也更新了,所以我有了一个简单的解决方案。但我认为,在“比Beta更高”的版本中,接口将是不可变的/这里有一个。你的链接很好。它探索业力及其各种形态。从这篇文章、其他海报和我的经历来看,似乎我真的必须回到快速入门。在Angular 2成熟的这种状态下,没有一种定义良好的方法来诊断安装。我应该重新创建项目——或者删除节点_模块并重新安装。一旦我在我的电脑上加载了Quickstart,我看到了很多我无法通过修补来解决的小问题。我使用Angular Quickstart获得了环境的“新”版本。我的库大致从2.2.4版转换为2.4版。我将代码复制到新环境中。看到事情不顺利!开发人员似乎更改了Resolve接口的签名。幸运的是,路由教程也更新了,所以我有了一个简单的解决方案。但我认为,在“比Beta更高”的版本中,接口将是不可变的/咆哮
      module.exports = function(config) {
        config.set({
          basePath: '',
          frameworks: ['jasmine', 'requirejs'],
          files: [
            {pattern: 'app/*.js', included: false},
            {pattern: 'app/*.spec.js', included: false},
            {pattern: 'app/**/*.js', included: false}
          ],
          exclude: [ ],
          preprocessors: { },
          reporters: ['progress'],
          port: 9876,
          colors: true,
          logLevel: config.LOG_INFO,
          autoWatch: true,
          browsers: ['Chrome'],
          singleRun: false,
          concurrency: Infinity
        })
      }
      
      {
        "name": "MyProgram",
        "version": "0.1.0",
        "license": "MIT",
        "description": "MyProgram description",
          "scripts": {
            "start": "gulp copy-jit && concurrently \"npm run tsc:w\" \"npm run lite\" ",
            "lite": "lite-server",
            "tsc": "tsc",
            "tsc:w": "tsc -w",
            "aot": "ngc -p tsconfig-aot.json",
            "rollup": "rollup -c rollup-config.js",
            "start-aot": "npm run aot && npm run rollup && gulp copy-aot && npm run lite",
            "test": "karma start karma.conf.js"
        },
        "dependencies": {
          "@angular/common": "~2.2.4",
          "@angular/compiler": "~2.2.4",
          "@angular/compiler-cli": "~2.2.4",
          "@angular/core": "~2.2.4",
          "@angular/forms": "~2.2.4",
          "@angular/http": "~2.2.4",
          "@angular/platform-browser": "~2.2.4",
          "@angular/platform-browser-dynamic": "~2.2.4",
          "@angular/platform-server": "^2.2.4",
          "@angular/router": "~3.2.4",
          "@angular/upgrade": "~2.2.4",
          "angular-in-memory-web-api": "~0.1.5",
          "core-js": "^2.4.1",
          "reflect-metadata": "^0.1.8",
          "rxjs": "5.0.0-beta.12",
          "systemjs": "0.19.39",
          "zone.js": "^0.6.25"
        },
        "devDependencies": {
          "@types/core-js": "^0.9.34",
          "@types/jasmine": "^2.5.35",
          "@types/node": "^6.0.45",
          "@types/selenium-webdriver": "^2.53.32",
          "concurrently": "^3.0.0",
          "del": "^2.2.2",
          "gulp": "^3.9.1",
          "gulp-gzip": "^1.4.0",
          "gulp-load-plugins": "^1.3.0",
          "gulp-rename": "^1.2.2",
          "gulp-task-listing": "^1.0.1",
          "gulp-util": "^3.0.7",
          "jasmine-core": "^2.5.2",
          "karma": "^1.4.0",
          "karma-chrome-launcher": "^2.0.0",
          "karma-jasmine": "^1.1.0",
          "karma-requirejs": "^1.1.0",
          "lite-server": "^2.2.2",
          "rollup": "^0.36.1",
          "rollup-plugin-commonjs": "^5.0.4",
          "rollup-plugin-node-resolve": "^2.0.0",
          "rollup-plugin-uglify": "^1.0.1",
          "typescript": "^2.0.3"
        }
      }