2016-08-09 14 views
3

私はイスタンブールの設定を理解しているかどうかはわかりません。Angular 2 CLIでイスタンブールコードカバレッジを設定するにはどうすればよいですか?

すべてのチュートリアルでは、1つまたは2つのファイルしかテストされません。コードベース全体をテストするようにどのように設定しますか?それを間違って理解していますか?

+0

どのテストフレームワークでテストを書くのですか? –

+0

まあ、私は角度 - cli @ webpackはコードカバレッジが含まれていると思います。試してみましょう。 – user1354934

答えて

2

あなたが行くている正確に何を見なければ、私は現在、コードカバレッジ(私はそれだけではまだ活字体で動作するように得ていないが)を示しているあなたに私のkarma.confを表示することができます:あなたは

config.set({ 
    basePath: "./", 
    frameworks: ["jasmine"], 
    files: [    
     //load files here, including your spec and source files 
    ], 
    // Other settings... 
    browsers: ["PhantomJS"], 
    plugins: [ 
     "karma-jasmine", 
     "karma-coverage", //<-- using karma-coverage for code coverage 
     "karma-chrome-launcher", 
     "karma-phantomjs-launcher" 
    ], 
    // Coverage reporter generates the coverage 
    reporters: ["progress", "coverage"], //<-- reporter for code coverage 
    // Source files that you wanna generate coverage for. 
    // Do not include tests or libraries (these files will be instrumented by Istanbul) 
    preprocessors: { 
     "test/bin/js/app/**/!(*spec).js": ["coverage"] //<-- coverage pre-process 
    }, 
    // Generate the code coverage report (lots of formats available) 
    coverageReporter: { 
     reporters:[ 
      { type: "html", dir: "./test/bin", subdir: "coverage/html" } 
     ] 
    }, 
    singleRun: true 
}) 

package.jsonは、少なくとも正しい方向にあなたを指すdevDependency

うまくいけとして "karma-coverage": "1.1.1" が含まれます。

+0

これは本当に役に立ちます!私が考えているコードカバレッジを持っている角度-cli @ webpackを試してみましょう。 – user1354934

+3

私はangular-cli 1.0.0-beta.24を使っていて、 'ng test --code-coverage'を実行してカバレッジを生成しています。私がテストを書くためのすべてを網羅しています。ただし、polyfills.tsとtest.tsのカバレッジも含まれていますが、テストしていないファイルに対してはカバレッジを逃してしまいます。つまり、カバレッジは0%でなければなりませんが、 。 – EdL

関連する問題