web-dev-qa-db-fra.com

Classe SpringJUnit4ClassRunner introuvable

j'essaie de créer un test unitaire en utilisant SpringJUnit4ClassRunner, mais chaque fois que j'exécute le test, il indique qu'il ne trouve pas SpringJUnit4ClassRunner à l'aide de l'installation de MVN.

\src\test\Java\com\jr\freedom\util\JsonParserUtilTest.Java:11: cannot find symbol
[ERROR] symbol: class SpringJUnit4ClassRunner
[ERROR] -> [Help 1]

voici mon code

@RunWith(SpringJUnit4ClassRunner.class)
public class JsonParserUtilTest {

    private String jsonUser = "{ \"username\":\"jono111\",\"emailAddress\":\"[email protected]\", \"password\":\"12345678\",\"firstName\":\"jono\", \"surname\":\"richy\", \"country\":\"united kingdom\",\"bio\":\"Bio stuff goes here about the user. where he comes from etc etc. all is well. lets go go go\" }";

    @Test
    public void testToJsonObject() {

        User user = new User();
        user.setBio("bio mate");
        user.setCountry("uk");
        user.setEmailAddress("[email protected]");
        user.setFirstName("jono");
        user.setPassword("passwordfdsadsa");
        user.setUsername("crazy8");
        JSONObject jsonUser =  JsonPojo.toJsonObject(user);
        assertNotNull(jsonUser);
        assertNotNull(jsonUser.keys());
        System.out.println(jsonUser);

    }

    @Test
    public void testToObject(){
        JSONObject jsonUser = JSONObject.fromObject(jsonUser);
    }

Voici mon fichier POM:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 
   http://maven.Apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>FreedomSpring</groupId>
    <artifactId>FreedomSpring</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <!-- specifiy which directory within the project hierarchy will be considered 
                        as the root directory from the generated war file -->
                    <warSourceDirectory>WebContent</warSourceDirectory>
                    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <!-- Dependencies below for spring, hibernate, json etc -->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.1.7.Final</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-mock</artifactId>
            <version>2.0.8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>6.0</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.9.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-Java</artifactId>
            <version>5.1.21</version>
        </dependency>
    </dependencies>


</project>

j'utilise la combinaison d'outil springSource IDE pour développer cette application mvc de printemps. Sur IDE, elle met en évidence SpringJUnit4ClassRunner comme une erreur disant qu'elle ne peut pas être résolue malgré moi, y compris toutes les dépendances nécessaires sur mon fichier pom.

Merci

19
jonney

J'ai téléchargé votre code et je l'ai fait fonctionner localement, tant que j'ai inclus les instructions d'importation appropriées:

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.junit.runner.RunWith;
import org.junit.Test;
...

Peut-être vous manque une importation quelque part.

30
Jonathan

J'ai corrigé celui-ci par 

  • Suppression de mon référentiel Maven local (~/.m2/repository) et 
  • Dans Eclipse forçant une nouvelle construction (Projet-> Nettoyer ...)

Provenant des forums appfuse

2
bwobbones

FYI, ajoutez ceci dans votre pom.xml

 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>
1
Sanjay Kumar

Si vous utilisez linux, ouvrez le terminal et exécutez la commande ci-dessous ..___. N'oubliez pas d'ajouter l'utilisateur à l'emplacement où le "nom d'utilisateur" est

cd /home/you-user/.m2/repository/Sudo rm -r junit

1
Marcos