junit-idea

常用annotation

package model;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.junit.*;

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;

/**
 * Created by dongyu.liu on 2017-5-22.
 */
public class TestTeacher {

    @Before
    public void before(){
        // 在每个测试方法之前执行
        System.out.println("before");
    }

    @After
    public void after(){
        // 在每个测试方法之后执行
        System.out.println("after");
    }

    @BeforeClass
    public static void beforeClass(){
        //  测试类初始化之前执行
        // 一般可以写一些  搭建耗费时间环境(数据库连接、加载配置文件等等)
        System.out.println("beforeClass");
    }

    @AfterClass
    public static void afterClass(){
        //  测试类初始化之后执行
        //  一般可关闭资源等
        System.out.println("afterClass");
    }

    @Test
    // 该方法在1000毫秒内执行完毕    @Test(timeout = 1000)
    // @Ignore  这个方法暂时忽略  先不测试
    public void TestTeacher(){
        int a =4;
        assertEquals(a, 4);
        assertThat(a,is(4));
    }

    public static void main(String[] args) {
       Teacher t = new Teacher();
        t.setId(1);
        t.setName("t1");
        t.setTitle("中级");

//      Configuration cfg = new Configuration();
        Configuration cfg = new AnnotationConfiguration();
        SessionFactory sf = cfg.configure().buildSessionFactory();

        Session sessions = sf.openSession();
        sessions.beginTransaction();
        sessions.save(t);
        sessions.getTransaction().commit();
        sf.close();
    }
}

常用pom.xml配置

      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
      </dependency>
      <dependency>
          <groupId>org.hamcrest</groupId>
          <artifactId>hamcrest-junit</artifactId>
          <version>2.0.0.0</version>
      </dependency>

idea中插件使用

  1. File–>settings–>Plguins–>Browse repositories–>输入JUnit–>选择JUnit Generator V2.0安装。
  2. 在你要创建测试用例的类中按 Ctrl + Shift + T 即可

xml文件无法正常编译到target/class中

在pom.xml中添加即可

<project>
<build>
        <finalName>mybatistest</finalName>
        <!-- xml文件正常编译到class目录中-->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>
"C:\Program Files\Java2022\jdk-17.0.5\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\JetBrains\IntelliJ IDEA 2024.3.4.1\lib\idea_rt.jar=49995" -javaagent:C:\Users\yxm\AppData\Local\JetBrains\IntelliJIdea2024.3\captureAgent\debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath "C:\Users\yxm\.m2\repository\org\junit\platform\junit-platform-launcher\1.13.0-M2\junit-platform-launcher-1.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\junit\vintage\junit-vintage-engine\5.13.0-M2\junit-vintage-engine-5.13.0-M2.jar;D:\JetBrains\IntelliJ IDEA 2024.3.4.1\lib\idea_rt.jar;D:\JetBrains\IntelliJ IDEA 2024.3.4.1\plugins\junit\lib\junit5-rt.jar;D:\JetBrains\IntelliJ IDEA 2024.3.4.1\plugins\junit\lib\junit-rt.jar;C:\Users\yxm\.m2\repository\org\junit\jupiter\junit-jupiter\5.13.0-M2\junit-jupiter-5.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.13.0-M2\junit-jupiter-api-5.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\opentest4j\opentest4j\1.3.0\opentest4j-1.3.0.jar;C:\Users\yxm\.m2\repository\org\junit\platform\junit-platform-commons\1.13.0-M2\junit-platform-commons-1.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;C:\Users\yxm\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.13.0-M2\junit-jupiter-params-5.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.13.0-M2\junit-jupiter-engine-5.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\junit\platform\junit-platform-engine\1.13.0-M2\junit-platform-engine-1.13.0-M2.jar;C:\Users\yxm\.m2\repository\org\springframework\spring-aop\6.0.2\spring-aop-6.0.2.jar;C:\Users\yxm\.m2\repository\org\springframework\spring-beans\6.0.2\spring-beans-6.0.2.jar;C:\Users\yxm\.m2\repository\org\sprin
04-02
<think>嗯,用户想解决IntelliJ IDEAJUnit测试运行的配置问题,特别是javaagent路径和依赖版本兼容性。首先,我需要回忆相关的配置步骤和常见问题。 首先,用户可能遇到了JUnit无法运行的问题,比如类找不到或者依赖冲突。根据引用[5],用户之前遇到过NoClassDefFoundError,这通常和依赖缺失有关。比如JUnit需要hamcrest库,但可能没有正确引入。这时候需要检查项目的依赖,确保JUnit和相关库的版本兼容。 接下来,配置JDK和Maven是关键。引用[2]提到在IDEA中集成JDK、Maven等工具,所以正确的JDK配置是基础。用户需要确认项目使用的JDK版本是否与JUnit兼容。比如JUnit 5需要Java 8以上,而旧版本可能不支持。 然后,Maven的配置也很重要。引用[1]指出Maven 3.8版本可能导致依赖导入问题,建议使用3.5.4。用户需要检查Maven版本,确保正确配置了settings.xml和本地仓库路径。同时,引用[4]提到clean和install操作,可能有时候需要重新生成依赖,解决缓存问题。 关于javaagent的设置,比如使用Spring AOP时需要加载代理,用户需要确认javaagent路径是否正确。例如,Spring的spring-agent可能需要指定正确的路径,或者使用Spring Boot的代理库。 依赖版本冲突方面,比如用户提到的junit-platform-launcher-1.13.0-M2和spring-aop-6.0.2。需要检查Maven的依赖树,用mvn dependency:tree查看是否有版本冲突。比如,Spring 6可能要求JUnit 5的较高版本,而用户可能混合了不同版本的JUnit 4和5,导致冲突。 另外,单元测试的配置是否正确?比如在IDEA中,运行测试的配置是否选择了正确的JUnit版本,或者是否误用了TestNG。需要检查运行配置,确保使用JUnit,并且类路径包含所有必要的依赖。 最后,用户可能需要清理和重新构建项目。有时候IDEA的缓存会导致问题,执行mvn clean install,然后重新导入项目,可能解决依赖问题。同时,检查IDE中的库设置,确保没有重复或错误的依赖路径。 总结步骤应该是:检查JDK和Maven配置,确认依赖版本兼容,处理javaagent路径,解决依赖冲突,清理并重新构建项目。同时,参考用户提供的引用中的解决方案,比如Maven版本回退和重新安装依赖。</think>### 逐步排查和配置 JUnit 测试运行环境 #### **1. 验证 JDK 配置** - **确认 JDK 版本兼容性**:JUnit 5 需要 JDK 8 及以上版本。若使用 Spring 6,需 JDK 17+[^2]。 - **配置路径**: 1. 打开 IDEA:`File → Project Structure → SDKs` 2. 确保 JDK 安装路径正确(如 `C:\Program Files\Java\jdk-17`) #### **2. 配置 Maven 环境** - **版本选择**:建议使用 Maven 3.5.4 避免依赖导入问题[^1]。 - **关键步骤**: 1. 设置系统变量 `MAVEN_HOME`(如 `D:\apache-maven-3.5.4`) 2. 添加 `%MAVEN_HOME%\bin` 到 `PATH` 3. 在 IDEA 中配置 Maven:`File → Settings → Build → Maven`,指定 `Maven home path` 和 `settings.xml` 路径 #### **3. 检查依赖版本兼容性** - **依赖冲突示例**:`spring-aop-6.0.2` 需与 `junit-platform-launcher-1.8.x` 及以上版本兼容。 - **解决方法**: 1. 在 `pom.xml` 中显式指定依赖版本: ```xml <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> <version>1.8.2</version> <scope>test</scope> </dependency> ``` 2. 运行 `mvn dependency:tree` 查看冲突,使用 `<exclusions>` 排除旧版本 #### **4. 配置 Javaagent 路径** - **应用场景**:使用 Spring AOP 或 Lombok 时需加载代理。 - **设置方法**: 1. 在 IDEA 的运行配置中: ``` Edit Configurations → Templates → JUnit → VM options ``` 2. 添加参数(示例): ``` -javaagent:C:/path/to/spring-instrument-6.0.2.jar ``` #### **5. 修复 JUnit 类路径问题** - **典型错误**:`NoClassDefFoundError: org/hamcrest/SelfDescribing`[^5] - **操作步骤**: 1. 右键项目 → `Open Module Settings → Libraries` 2. 确保 `junit-4.13.2.jar` 和 `hamcrest-core-2.2.jar` 存在 3. 若缺失,手动添加或通过 Maven 安装 #### **6. 清理并重建依赖** - 执行命令: ```bash mvn clean install -U ``` 强制更新快照依赖,解决缓存问题[^4] --- ### **验证配置的完整性** 1. 创建简单测试类: ```java import org.junit.Test; public class SampleTest { @Test public void testExample() { System.out.println("Test passed"); } } ``` 2. 右键测试方法 → `Run 'testExample()'`,观察控制台输出 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值