spring.io中的Maven 101教程测试失败

时间:2017-03-07 09:37:05

标签: maven intellij-idea

本教程中的

https://spring.io/guides/gs/maven/

我要写下面的代码

1    package hello;
2
3    import hello.Greeter;
4   
5   import  org.hamcrest.CoreMatchers.containsString;
6   import  org.junit.Assert.*;
7   
8   /**
9    * Created by mickeyp on 07/03/2017.
10   */
11  public class GreeterTest {
12    
13        private Greeter greeter = new Greeter();
14    
15        @Test
16        public void greeterSaysHello() {
17            assertThat(greeter.sayHello(), containsString("Hello"));
18        }
19    }
20

编译失败:

  
      
  • 包org.hamcrest.CoreMatchers不存在(5,34)
  •   
  • package org.junit.Assert不存在(6,1)
  •   
  • 无法解析符号@Test(15,4)
  •   

Bellow是pom.xml文件的依赖部分

<dependencies>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

</dependencies>

我在intellJ中看到gs-maven正确地拥有了我的依赖关系(特别是junit.4.12)。

我是java新手,非常资深的C#开发人员

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

它最终有效,只用了几个小时(2天的更好时间,开启和关闭)

  1. 功能事实上,intelliJ有时需要重启缓存 文件|无效缓存/重新启动

  2. GreeterTest的位置是pom.xml中的依赖关系

    <scope>test</scope>
    
  3. 这是在maven结构中定义的,意思是

    src/main/java/--> java classes
      src/test/---> test classes
    

    也 在src / test中创建测试目录时,需要

      

    右键单击目录|将目录标记为==&gt;测试目录

    如果你有一个pom文件 文件|打开..找到pom.xml文件并单击它,它将导入项目,我仍然需要使缓存无效(见上文),但它的工作原理 现在

    bwaaa并不像我预期的那么简单