You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java计算器Junit测试报No tests found matching Method addtest错误求解

问题根因与修复方案

1. "No tests found matching Method addtest"报错原因

  • 测试类命名不匹配:你声明创建的测试类名为Calculation_JUnit_Test,但实际代码中的测试类名是Calculation_JUnitTest,缺少类名中间的下划线,测试执行器找不到对应类下的目标方法
  • 方法名拼写/大小写不匹配:报错要查找的是addtest,但你代码里的加法测试方法名为Add_Test,大小写、分隔符规则都不一致,如果是单独运行指定方法名的测试,就会出现匹配失败的情况
  • JUnit版本不匹配:如果你的项目依赖是JUnit5,但是用了JUnit4的注解(@Before、@Test均为JUnit4注解),也会触发找不到测试的报错

2. 类方法使用问题

你业务类里的add、sub、mul、div都是static静态方法,不需要实例化Calculation_JUnit对象调用,直接通过类名调用即可,代码中多次new Calculation_JUnit()属于不必要的冗余操作。

3. 测试逻辑错误

所有测试方法都错误调用了add方法,减法、乘法、除法测试均未调用对应的sub、mul、div方法,且断言的预期值和传参逻辑完全不匹配,比如加法测试传参2和1,预期返回值为5,逻辑完全错误。


修复后代码示例

业务类(仅补充遗漏的闭合括号,无逻辑改动)

package com.example;
public class Calculation_JUnit {
    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;
    }
    public static int div(int a, int b){
        return a/b;
    }
}

测试类修复版

import org.junit.*;
import static org.junit.Assert.assertEquals;
import com.example.Calculation_JUnit;

// 类名和声明的命名保持一致
public class Calculation_JUnit_Test {

    @Before
    public void setUp() {
        System.out.println("测试开始执行");
    }

    @Test
    public void addTest() {
        // 静态方法直接通过类名调用,无需实例化
        assertEquals("加法测试不通过",3, Calculation_JUnit.add(2,1));
    }

    @Test
    public void subTest() {
        assertEquals("减法测试不通过",4, Calculation_JUnit.sub(5,1));
    }

    @Test
    public void mulTest() {
        assertEquals("乘法测试不通过",5, Calculation_JUnit.mul(5,1));
    }

    @Test
    public void divTest() {
        assertEquals("除法测试不通过",4, Calculation_JUnit.div(4,1));
    }
}

额外注意事项

  • 如果使用JUnit5,需要把注解替换为@BeforeEach、@org.junit.jupiter.api.Test,导入对应包即可正常运行
  • 现有除法方法没有做除数为0的异常处理,建议补充对应场景的异常测试,避免运行时崩溃
  • 测试方法名建议统一使用小驼峰命名,和报错提示的命名风格对齐,避免单独运行单个方法时出现匹配失败问题

内容的提问来源于stack exchange,提问作者Yura Gajdar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:18:04