美文网首页工具Intellij IDEA
IDEA 中 JUnit 的使用

IDEA 中 JUnit 的使用

作者: Nemory | 来源:发表于2019-04-29 18:45 被阅读4次

    目录

    • JUnit 是什么?
    • IDEA 的 JUnit 配置
    • 测试类的生成
    • 测试覆盖率的查看

    1. JUnit 是什么?

      JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。

      Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。

    2. IDEA 的 JUnit 配置

      IDEA 一般默认安装了插件 JUnit,如下图所示:可在 settings 中的 Plugins 选项卡中的 Installed 一栏中搜索 JUnit 查看。

    JUnit 插件

    3. 测试类的生成

      首先,在项目根目录下新建 Test 文件夹(或其他任意你喜欢的名字),并在 Project Structure 中标记为 Test(默认为 Source),用以保存生成的测试类。标记后,自动生成的测试类都会自动保存在此文件夹下。

    Project Structure 的打开方式 修改文件夹类型

      创建好文件夹后就可以进行测试类的生成了。

      在需要测试的类上右键 -> Go To -> Test,选择 "create new test...",打开生成界面。

    生成界面的打开方式

      在生成界面中选择 Testing Library 为 JUnit 4(默认为 Arquillian JUnit 4),同时勾选需要测试的函数,然后点击 OK 即可生成。

      之后我们可以看到 Test 文件夹下已经有了生成好的测试类。

      但是我们会发现,测试类中的 import 是红色的,这是因为 JUnit 的依赖包并不在标准 JDK 中。我们可以通过把输入光标移到红色的 junit 上按 alt + enter 键(即 IDEA 自动导包的快捷键)然后选择 Add 'JUnit4' to classpath ,并在之后的下载界面直接选择 "OK" 即可通过 IDEA 自动关联依赖包。

      当然,也可以手动下载 JUnit 4 包(或更高版本)并手动关联。

    自动关联

    4. 测试覆盖率的查看

      待测试程序:

    public class Calculator {
        public static int add(int a, int b) {
            return a + b;
        }
    
        public static int sub(int a, int b) {
            return a - b;
        }
    
        public static int mul(int a, int b) {
            return a * b;
        }
    }
    

      生成的测试类:

    import static org.junit.Assert.*;
    
    public class CalculatorTest {
        @org.junit.Test
        public void add() {
        }
    
        @org.junit.Test
        public void sub() {
        }
    
        @org.junit.Test
        public void mul() {
        }
    }
    

      选择 Edit Configuration 以设置 Code Coverage 检查。

    修改运行配置

      在弹出的窗口中左侧选择 JUnit 对应的运行模块(在我这里由于没有其他 main 方法没有,因此其他运行模块),然后选择 Code Coverage 选项卡,之后选择下方的 Tracing(默认为 Sampling),接着点击右侧的添加期望检查的类。

    Code Coverage 设置

      之后选择 Run "测试类名" with Coverage 即可查看测试覆盖率了。左侧的绿色条代表方法中的每条语句都测试到了,红色代表完全没有测试,黄色代表部分语句测试到。

    测试结果

    相关文章

      网友评论

        本文标题:IDEA 中 JUnit 的使用

        本文链接:https://www.haomeiwen.com/subject/qbeunqtx.html