Shr*_*uja 6 junit android unit-testing intellij-idea
当我在 Android Studio 上运行代码的测试类时,我遇到了三种覆盖率。
虽然方法覆盖率对我来说相当简单,但我不明白行覆盖率和类覆盖率之间的区别。班级覆盖率是如何计算的?是否有考虑不同指标的公式?如果班级覆盖率与线路覆盖率无关,我该如何提高班级覆盖率?
类覆盖范围包括您正在测试的类包中的所有类。如果您在运行测试用例时不使用其他类,那么它将显示这些类的类覆盖率为 0%。
假设你的包应用程序中有 2 个类
-app
-ClassA.java
-ClassB.java
Run Code Online (Sandbox Code Playgroud)
用于测试
-app
-ClassATest.java
Run Code Online (Sandbox Code Playgroud)
如果您运行 ClassATest.java 的测试用例,那么您将得到Class coverage 50%(1/2). 由于这两个类位于同一个包中,因此它也包含 ClassB。
这是有趣的部分,如果您ClassB在任何测试用例中创建一个对象并ClassATest再次运行相同的用例,那么您将得到,Class coverage 100%(2/2)因为您已经使用了这两个类。
行覆盖率覆盖实际的代码行。IntelliJ 将所有行分别标记为绿色和红色,表示已覆盖和未覆盖,因此您可以轻松检查它已考虑了哪些行。
| 归档时间: |
|
| 查看次数: |
4298 次 |
| 最近记录: |