1

ディレクティブの単体テストをカバーするのに問題があります。http://blog.revolunet.com/blog/2013/12/05/unit-testing-angularjs-directive/ (Julien Bouquillon 著)の方法を使用し て、ディレクティブの単体テストを作成しました。そのブログで提示されたアイデアは私のニーズにぴったりで、よく説明されていましたが、私の問題は、カバレッジが Karma Coverage (イスタンブール コード カバレッジ ツール) に反映されていないことです。

カバレッジの概要に反映されるようにするには、ディレクティブの単体テストをどのように作成すればよいですか? 誰かがそれを可能にする例を持っていますか?

4

2 に答える 2

2

ディレクティブ コードのカバレッジが表示されない理由は、言及したリンクが compileDirective() 関数を介して beforeEach() で呼び出された $compile() および $digest() を使用しているためです。

そのコードの一部 ( compileDirective に入るコード) を に移動するとit()、ディレクティブでカバレッジが実行されるはずです。

それ以外の

describe("do some directive testing",function(){
 beforeEach(function(){
compileDirective();
});
 it('your test code',function(){
    //some code here 
});

以下をせよ。

 describe("do some directive testing",function(){
     beforeEach(function(){
       // some other code which execute before each of the it()..
    });
     it('your test code',function(){
        compileDirective();
        //some code here 
    });

したがって、本質的に、コードを調整する必要がある場合があります。

于 2015-08-24T16:02:49.360 に答える
0

Grunt 構成ファイルでいくつかの問題を発見したため、カバレッジが更新されませんでした。だから、ジュリアン・ブキヨンの例はとても良いので、私はそれをお勧めします.

于 2015-09-13T06:44:40.753 に答える