Java 使用Maven在Eclipse中运行单个JUnit4测试

Java 使用Maven在Eclipse中运行单个JUnit4测试,java,eclipse,maven,unit-testing,junit,Java,Eclipse,Maven,Unit Testing,Junit,编写测试时,我希望单独运行它们。然而,由于我已经从默认的EclipseJavaBuilder切换到Maven,这已经不可能了。意见: 直到今天,我还可以打开JUnit测试源文件并从工具栏中选择runas | JUnit test。在迁移到Maven之前,Eclipse在需要时构建了单元测试 自从Maven以来,我得到了一个ClassNotFoundException,以防我以前没有显式编译测试。如果我选择POM并执行作为| Maven测试运行,我可以绕过这个问题。这将编译测试并运行所有测试 如果

编写测试时,我希望单独运行它们。然而,由于我已经从默认的EclipseJavaBuilder切换到Maven,这已经不可能了。意见:

  • 直到今天,我还可以打开JUnit测试源文件并从工具栏中选择
    runas | JUnit test
    。在迁移到Maven之前,Eclipse在需要时构建了单元测试

  • 自从Maven以来,我得到了一个
    ClassNotFoundException
    ,以防我以前没有显式编译测试。如果我选择POM并执行
    作为| Maven测试运行
    ,我可以绕过这个问题。这将编译测试并运行所有测试

  • 如果我再次选择单元测试并从工具栏中选择
    runas | JUnit test
    ,它将执行测试

  • 因为这太不令人信服了,所以我希望恢复“旧”行为,我认为这应该只是一个配置问题

    我有

    • 阅读,但它描述了一个没有Maven的问题。基本上,预期的行为是我以前的行为
    • 阅读是我目前拥有的。我有Surefire,我可以在选择POM时运行所有测试
    • 我的
    • 将项目的目录结构转换为默认的Maven布局(以前没有)
    • 不适用,因为我希望从Eclipse而不是从命令行运行测试
    • [x] 自动启用生成
    • [x] Maven project Builder在项目属性中配置
    • 问题没有解决
    • 了解
    我现在放弃了


    如何进行高效的红绿重构,即一次只运行一个单元测试,而不为每个测试添加运行配置?今天我发现Java Builder被禁用:

    启用它会返回预期的行为。

    这对我很有效-

  • 选择要运行的测试文件
  • 右键单击并打开运行配置
  • 现在转到classpath,将maven依赖项移到顶部并应用

  • 一般来说,这是可能的。我认为您的Maven/Eclipse集成存在配置问题。Maven和Eclipse是否都使用相同的目标目录(即.class文件的存储位置)?@Jan:在Java构建文件中,我将“默认输出文件夹”设置为/target/classes。源文件夹指向那里(/src/main/java,/src/main/resources),除了指向/target/test-classes的单元测试(src/test/java)。在我的POM中,我删除了和特定的目录名,因此它也构建为/target/classes和/target/test类。您是如何详细地“从默认的Eclipse java builder切换到Maven”的?您是否尝试•创建一个全新的Maven项目•将主要/测试源/资源复制到项目中•相应地调整
    pom.xml