2012-12-18 15 views
17

मैं SpringJUnit4ClassRunner का उपयोग करके एक यूनिट टेस्ट बनाने की कोशिश कर रहा हूं लेकिन हर बार जब मैं परीक्षण निष्पादित करता हूं तो यह कहता है कि यह mvn इंस्टॉल का उपयोग कर SpringJUnit4ClassRunner नहीं ढूंढ सकता है।SpringJUnit4ClassRunner क्लास नहीं मिला

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

यहाँ मेरी कोड है

@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); 
    } 

यहाँ मेरी पोम फ़ाइल है:

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

मैं springSource उपकरण सूट आईडीई उपयोग कर रहा हूँ इस वसंत MVC अनुप्रयोग विकसित करने के लिए और आईडीई पर प्रकाश डाला गया SpringJUnit4ClassRunner एक त्रुटि के रूप में कह रहा है कि यह मेरे पोम फ़ाइल पर सभी आवश्यक निर्भरताओं सहित मेरे बावजूद हल नहीं किया जा सकता है।

धन्यवाद

+1

आप जोड़ना चाहिए परीक्षण का दायरा है आपकी परीक्षण निर्भरताओं, यानी 'जुनीट', 'स्प्रिंग-टेस्ट', 'मॉकिटो-ऑल' इत्यादि ... मुझे नहीं लगता कि आपकी समस्या हल हो जाएगी। – Jonathan

उत्तर

28

मैं अपने कोड डाउनलोड किया है और स्थानीय स्तर पर काम कर समझ में आ गया है, जब तक मैं प्रासंगिक आयात बयान शामिल हैं:

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

शायद आप कहीं एक आयात वंचित रह जाएंगे।

+1

यह चाल है। मैं हमेशा ग्रहण करता हूं ग्रहण मेरे लिए आयात जोड़ देगा! – jonney

+1

कोई समस्या नहीं, खुशी है कि मैं मदद कर सकता हूं। – Jonathan

2

FYI करें, अपने pom.xml में इस जोड़े

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-test</artifactId> 
    <scope>test</scope> 
</dependency> 
2

मैं अपने स्थानीय Maven रेपो (~/.m2/भंडार) और ग्रहण में

  • हटाया जा रहा द्वारा

    • इस एक तय एक नए निर्माण (परियोजना> स्वच्छ ...) के लिए मजबूर कर

    Sourced from the appfuse forums

  • +0

    धन्यवाद! केवल एक चीज जो मेरे लिए काम करती है –

    1

    यदि आप लिनक्स का उपयोग कर रहे हैं, तो टर्मिनल खोलें और नीचे दिए गए आदेश को काम करें। जगह में उपयोगकर्ता को जोड़ने के लिए मत भूलना, जहां "उपयोगकर्ता के नाम"

    सीडी /home/you-user/.m2/repository/ sudo rm -r JUnit