Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SpringJUnit4ClassRunner class not found

Tags:

i am trying to create a unit test using SpringJUnit4ClassRunner but everytime i execute the test it says it cannot find SpringJUnit4ClassRunner using mvn install.

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

here is my 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);     } 

Here is my POM file:

<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> 

i am using springSource tool suit IDE to develop this spring mvc app and on the IDE it highlights SpringJUnit4ClassRunner as a error saying it cant be resolved despite me including all the necessary dependencies on my pom file.

Thanks

like image 492
Jonathan Avatar asked Dec 18 '12 12:12

Jonathan


People also ask

What is @RunWith SpringJUnit4ClassRunner class )?

@RunWith(SpringJUnit4ClassRunner. class): Indicates that the class should use Spring's JUnit facilities.

What is the difference between SpringJUnit4ClassRunner and SpringRunner?

There is no difference, from the javadoc: SpringRunner is an alias for the SpringJUnit4ClassRunner.

What is the use of @RunWith SpringRunner class?

@RunWith(SpringRunner. class) tells JUnit to run using Spring's testing support. SpringRunner is the new name for SpringJUnit4ClassRunner , it's just a bit easier on the eye.


1 Answers

I downloaded your code and got it working locally, as long as I included the relevant import statements:

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

Perhaps you're missing an import somewhere.

like image 146
Jonathan Avatar answered Oct 26 '22 01:10

Jonathan