6

When I run test in angular 2 and I see a few keywords output on console command in Coverage Summary section as Statements, Branches, Functions....

enter image description here

And I don't know exactly what is it?

Any help explain this for me, thank you.

dangchithao
  • 613
  • 2
  • 8
  • 24

1 Answers1

10
  • Statement: I think this article does a pretty goo d job explaining what a statement it. The coverage tests that all your statements are getting hit.

  • Branch: When you use conditionals it create branches

    if (condition) {
      doThis();       // this is a branch
    } else {
      doThat();       // this is a branch
    }
    

    Is your testing hitting all the branches?

  • Functions: The functions that you declare.

    class SomeClas {
      methodOne() {}
      methodTwo() {}
    }
    
    it('..', () => {
      new SomeClass().methodOne();
    })
    

    SomeClass has two methods, but only one is getting tested. 50%. If you either explicitly call methodTwo in your test or methodOne calls methodTwo, your coverage goes to 100%

  • Lines:: The lines of code, checks to see if all the lines of code are being hit.

Paul Samsotha
  • 205,037
  • 37
  • 486
  • 720