परीक्षण धावक 'जुनेट 4' के साथ कोई परीक्षण नहीं मिला


105

मेरे जावा परीक्षण ने ग्रहण से अच्छा काम किया। लेकिन अब, जब मैं रन मेनू से परीक्षण को पुनः लोड करता हूं, तो मुझे निम्न संदेश मिलता है:

No tests found with test runner 'JUnit 4'

में .classpathफ़ाइल मैं सभी jarफ़ाइलें, और अंत में है:

<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

मैं इस त्रुटि को कैसे हल कर सकता हूं और परीक्षण फिर से चला सकता हूं?


1
क्या आप अपने परीक्षण की सामग्री (या कम से कम वर्ग की घोषणा) पोस्ट कर सकते हैं। साथ ही आपने लिखा "अंत में:" और कुछ नहीं के साथ।
phtrivier

इस एक की जाँच करें .. यह stackoverflow.com/questions/22469480/junit-no-tests-found
prasad vsv

के लिए JUnit 5 को देखने के लिए यहाँ
आनंद rockzz

जवाबों:


155

यह सिर्फ मेरे साथ हुआ। ग्रहण का पुनर्निर्माण या पुनः आरंभ करने में मदद नहीं मिली।

मैंने इसे "परीक्षण ..." (JUnit3 शैली) के साथ शुरू करने के लिए परीक्षण विधियों में से एक का नाम बदलकर हल किया और फिर सभी परीक्षण पाए जाते हैं। मैंने इसे फिर से नाम दिया कि यह पहले क्या था, और यह अभी भी काम करता है।


7
मेरे पास testQuotesअन्य तरीकों के साथ विधि है जो परीक्षण से शुरू नहीं होती है लेकिन फिर भी मुझे कोई परीक्षण नहीं मिला त्रुटि
राहेल

1
मुझे एक वर्ग के साथ एक ही समस्या थी जो फैली हुई थी junit.framework.TestCase, और मेरे तरीकों को "परीक्षण" से शुरू करने की आवश्यकता थी। विस्तार करने के बजाय TestCase, मैंने एक आयात जोड़ा: import static org.junit.Assert.*;और मैं अपने तरीकों को नाम दे सकता हूं कि मुझे कैसा चाहिए। विचित्र ...
MrDrews

6
गंभीरता से, भले ही एक परीक्षण @ टेस्ट के साथ एनोटेट किया गया हो, टेस्ट फ़ंक्शन नाम को अभी भी "टेस्ट" के साथ उपसर्ग करने की आवश्यकता है?
ब्रायन शोतोला

4
आप उस सूची में 2015 और ग्रहण लूना भी जोड़ सकते हैं। वास्तव में मेरे कई बेहतरीन तरीके अभी भी उपसर्ग "परीक्षण" से शुरू होते हैं। मैंने एक परीक्षण पर उस उपसर्ग को हटा दिया , बचाया, और फिर सभी परीक्षण पाए गए। बाद में मैंने इसे वापस जोड़ दिया और सभी परीक्षण लगातार मिलते रहे। ऐसा लगता है कि यह एक विधि (फ़ाइल?) को बदलने के बारे में अधिक है ताकि ग्रहण सब कुछ फिर से पता चले।
ब्रायन व्हाइट

2
एंड्रॉइड स्टूडियो 2.1.1, मई 2016, अभी भी काम करता है। मुझे आश्चर्य है कि अगर यह जवाब ब्रह्मांड के अंत तक काम करेगा।
ब्लूरेवर

42

जब हम इन त्रुटियों को प्राप्त करते हैं तो ऐसा लगता है जैसे ग्रहण अभी उलझन में है। ग्रहण को फिर से शुरू करें, परियोजना को ताज़ा करें, इसे साफ़ करें, ग्रहण को फिर से बनाने दें, और फिर से प्रयास करें। ज्यादातर बार जो आकर्षण की तरह काम करता है।


1
हां मेरे लिए भी काम किया और dlamblin से सहमत हूं। अच्छा अनुस्मारक हमेशा किसी भी अजीब समस्या के लिए पुनः आरंभ करने की कोशिश करता है जिसे हल करने के पहले 5 मिनट में हल नहीं किया जा सकता है।
थिएन

3
मुझे यह समस्या थी, और मैंने स्रोत फ़ाइल को बंद कर दिया था, जहां मैंने अपनी परीक्षा कक्षा को परिभाषित किया था, नाविक में उस फ़ाइल पर डबल-क्लिक किया, और यह काम किया। इसलिए ग्रहण को पुनः आरंभ किए बिना, फ़ाइल को बंद करना और फिर से काम करना।
मेटामैट

11
यह वास्तव में मुझे एक नई आईडीई की तलाश करना चाहता है। यह मेरे लिए काम किया।
सेठ एम।

1
परियोजना को बंद करना और फिर से खोलना मेरे लिए तय हो गया!
मार्टिन चार्ल्सवर्थ

34

अपने 'परीक्षण' निर्देशिका के संदर्भ मेनू में 'निर्माण पथ' -> 'स्रोत फ़ोल्डर के रूप में उपयोग करें' चुनें। ग्रहण को आपकी यूनिटटैस्ट.जावा फ़ाइलों को स्रोत फ़ाइलों के रूप में देखना चाहिए। चेतावनी 'कोई JUnit परीक्षण नहीं मिला' क्योंकि आपके 'निर्माण' निर्देशिका में कोई UnitTests.class फाइलें नहीं हैं


यही वह उपाय है जो मेरे लिए काम करता है। पुनरारंभ करना काम नहीं करता है।
एंड्री

यह वही है जो मैं तब से था जब मुझे "src" फ़ोल्डर में "परीक्षण" फ़ोल्डर नहीं होना चाहिए। मैंने ऐसा किया, फिर अन्य उत्तरों द्वारा सुझाए गए प्रोजेक्ट को खोल / बंद कर दिया और अब यह ज्यूनीट परीक्षण के रूप में संकलित करता है और चलाता है। धन्यवाद!
quux00

मैंने प्रोजेक्ट -> जावा बिल्ड पाथ -> सोर्स -> टेस्ट फोल्डर को जोड़कर यही किया। बहुत धन्यवाद!
पीटर क्लॉज

यदि स्रोत फ़ोल्डर के रूप में आपके बिल्ड पथ पर src / test / groovy पहले से है, तो इसे हटा दें और फिर इसे फिर से जोड़ें। हर परीक्षा फ़ाइल में @Test को हटाने और बदलने की तुलना में आसान ...
GenSummons

32

जांचें कि क्या आपका परीक्षण वर्ग "टेस्टकेस" का विस्तार करता है। यदि हां, तो उस खंड को हटा दें। आपकी कक्षा को "टेस्टकेस" वर्ग से विस्तार करने की आवश्यकता नहीं है। यह मेरे द्वारा मिले मामलों में से अधिकांश है।

public class MyTestCase extends TestCase{
  @Test
  public void checkSomething() {
    //...
  }
}
//Result> AssertionFailedError: No test Found in MyTestCase

TestCase का पालन ठीक होना चाहिए।

public class MyTestCase {
  @Test
  public void checkSomething() {
    //...
  }
}
//Works fine

यह वास्तव में सही उत्तर है। मैंने इसे IntelliJ और JUnit 4.1 के साथ परीक्षण किया और यह काम करता है!
डियो फुंग

मुझे जो समस्या आ रही है, वह यह है कि ग्रहण में मेरे JUnit परीक्षण ठीक चलते हैं, लेकिन जब मैं उन्हें एक JAR में निर्यात करता हूं, तो मुझे उपरोक्त त्रुटि मिलती है। कोई विचार?
कोशिश कर रहा हूँ

क्या यह इन दिनों के आसपास दूसरा रास्ता है? "TestCase का विस्तार" जोड़ने से मेरे लिए समस्या हल हो गई।
Heinzlmaen

मेरे लिए काम किया !!! धन्यवाद
JRichardsz

27

मैं उसी समस्या का सामना कर रहा था और मैंने इसे जूनियर के वेब और इंटरनल पर खराब उदाहरणों के लिए डिबेट किया। मूल रूप से अपनी कक्षा का विस्तार TestCase के रूप में नहीं करें क्योंकि Junit 4.x के लिए कुछ उदाहरण दिखाते हैं। कुछ नामकरण परंपरा का प्रयोग टेस्ट या आप @RunWith (JUnit4.class) का उपयोग कर सकते है अगर आप एक एनोटेशन करना चाहते हैं।

यदि आपको एस्टर तरीकों तक पहुंच की आवश्यकता है तो एस्टर का विस्तार करें या स्थिर आयात का उपयोग करें।

यदि आपकी कक्षा TestCase का विस्तार करती है, तो भले ही आप Junit 4 Runner का उपयोग करते हैं, इसे 3 के रूप में चलाया जाएगा। यह इसलिए है क्योंकि आरंभीकरण कोड में यह पता लगा है:

देखें JUnit3Builder और लाइनें:

boolean isPre4Test(Class<?> testClass) {
    return junit.framework.TestCase.class.isAssignableFrom(testClass);
}

यह सच है और junit4 संगतता के लिए परीक्षण की कोशिश नहीं की जाएगी।


2
इससे मेरे लिए समस्या हल हो गई। यदि आप पहले जूनिट का उपयोग करने के पुराने उदाहरणों को देख रहे हैं, तो वे आपको भटका देंगे।
एलेक्स किलपैट्रिक

"यदि आपकी कक्षा टेस्टकैस का विस्तार करती है, तो भले ही आप जूनिट 4 रनर का उपयोग करते हैं, इसे 3 के रूप में चलाया जाएगा" - यह सच नहीं है (कम से कम ग्रूवी और इंटेलीज आईडीईए के लिए)। मैं JUnit 4.12 का उपयोग कर रहा हूं, और मैंने @RunWith(JUnit4)"GroovyTestCase" के साथ वर्ग को एनोटेट और विस्तारित किया है। बिना @RunWith(JUnit4)मैं समान मुद्दों का सामना करता हूं।
वीसेस्लाव गेदरजी

व्यवहार अभी भी 2017 (JUnit 4.12) के समान है।
धर्मपर्व

5

जोड़ने का प्रयास करें

@ इस तरह की परीक्षा के लिए विधि से ऊपर

@Test
public void testParse()
{

}

5

फिर भी एक और संभावित समाधान मैं रिंग में फेंक दूंगा: मैं टेस्ट क्लास को या तो एडिटर विंडो से नहीं चला पा रहा था, न ही पैकेज एक्सप्लोरर, लेकिन आउटलाइन व्यू में क्लास के नाम पर राइट-क्लिक करके रन अस ज्यूनीट का चयन कर रहा था टेस्ट ने किया काम ... जाओ आंकड़ा!


वही, आउटलाइन देखने से यह काम करता है, बाकी सब कुछ नहीं है - मैंने 3 स्टैक ओवरफ्लो थ्रेड्स में पोस्ट किए गए हर समाधान की कोशिश की है, कुछ भी काम नहीं करता है
एमपीएसएल

यह मेरे लिए भी काम करता है, लेकिन एक परियोजना में कवरेज का परीक्षण करने के लिए बेकार है।
अमीर

4

JUnit4 में कोई परीक्षण नहीं। इसके बजाय एनोटेशन का उपयोग करें या पुराने JUnit3 नाम सम्मेलनों का उपयोग करें।

उदाहरण:

@RunWith(Suite.class)
@SuiteClasses({YourClassWithTests.class})

4

यह मुझे भी हुआ था। मैंने ग्रहण को फिर से शुरू करने की कोशिश की और परीक्षण के साथ अपने परीक्षण-तरीकों को भी उपसर्ग किया। न काम किया।

निम्नलिखित चरण ने काम किया: @BeforeClass और @AfterClass में मौजूद अपने सभी परीक्षण तरीकों को स्थिर विधियों में बदलें।

यदि आपके पास नीचे प्रारूप में अपनी परीक्षा पद्धति है:

@BeforeClass
public void testBeforeClass(){
}

फिर इसे बदल दें:

@BeforeClass
public static void testBeforeClass(){
}

इसने मेरे लिए काम किया।


4

मुझे जवाब मिल गया है:

मुझे यह त्रुटि तब हुई जब मैंने ग्रहण से परीक्षण स्टैंडअलोन निष्पादित किया (विधि पर राइट क्लिक करें और जून टेस्ट के रूप में चलाने के लिए चुनें),

जब मैंने पूरी कक्षा को कनिष्ठ परीक्षण के रूप में निष्पादित किया तो मापदंडों के साथ परीक्षण सही ढंग से निष्पादित किया गया।


3

जब मैं इस समस्या का सामना करता हूं तो मैं केवल फाइल को संपादित करता हूं और इसे सहेजता हूं ... आकर्षण की तरह काम करता है


1
हाय दोस्त और Stackoverflow में आपका स्वागत है! :) क्या आप कृपया अपना उत्तर विस्तृत कर सकते हैं?
Littm

@ महेश का मतलब है कि आप फ़ाइल को रिफ्रेश करें (इसे चुनें और F5 दबाएं)
कैसियन

मैं स्कैला से समान समस्या का सामना कर रहा हूँ, अर्थात मेरे परीक्षण JUnit4 के लिए लिखे गए हैं, लेकिन वे स्कैला में हैं। और समाधान, जैसा कि @ मेश का सुझाव है, कंपाइलर को एक किक देना है। इससे कोई फर्क नहीं पड़ता कि आप फ़ाइल को संपादित करते समय क्या करते हैं, आपको बस इसे संपादित करना है। मैं एक ऐसी चीज टाइप करता हूं जो एक सिंटैक्स त्रुटि देता है, फ़ाइल को सहेजें, फिर पूर्ववत करें और फिर से सहेजें। अचानक मेरे टेस्ट चलते हैं। यह मेरे साथ अक्सर होता है, यानी कम से कम हर दिन, आमतौर पर प्रति दिन कई बार।
एरिक जी। हागस्ट्रॉम

3

मेरी समस्या यह थी कि घोषणा import org.junit.Test;गायब हो गई है (या जोड़ा नहीं गया था?)। इसे जोड़ने के बाद, मुझे एक और importघोषणा को हटाना पड़ा (Eclipse'll hint you who one) और सब कुछ फिर से काम करने लगा।


3

बहुत देर से लेकिन मेरे लिए जो समस्या हल हुई वह यह थी कि मेरी परीक्षा पद्धति के सभी नाम कैप्शन पत्रों से शुरू हुए: "सार्वजनिक शून्य परीक्षण"। टी लोअर केस बनाना काम कर गया।


यह मेरे लिए काम करता है ... लेकिन यह अजीब तरह से एक भ्रमित समाधान है
एंकिट मित्तल

2

मैंने जर्मेन से समाधान की कोशिश की। इसने मेरी कक्षा से सभी विधि के लिए काम किया, लेकिन मेरी परियोजना में बहुत सारी कक्षाएं हैं।

इसलिए मैंने निर्माण पथ से हटाने की कोशिश की और फिर इसे जोड़ दिया। इसने पूरी तरह से काम किया।

आशा करता हूँ की ये काम करेगा।


2

छह साल बाद ... और अभी भी एक्लिप्स की समस्याएँ हैं और कभी-कभार जेयूनिट्स नहीं मिल रहे हैं।

मेरे ग्रहण मंगल 2 में मुझे पता चला कि यह @Testफ़ाइल में 9 या 10 से अधिक एनोटेशन होने पर git से खींचे गए परीक्षण वर्गों को नहीं पहचान सकेगा । मुझे किसी भी अतिरिक्त परीक्षण पर टिप्पणी करने की आवश्यकता है, टेस्ट क्लास चलाएं, फिर उन्हें अनलॉक्ड करें और क्लास को फिर से चलाएं। जाओ पता लगाओ...


यहाँ यह उत्तर सहायक है, मेरे पास बिल्कुल वैसी ही स्थिति नहीं थी, लेकिन परीक्षण विधियों के नाम काफी समान थे और ग्रहण ने उन्हें ढूंढना जारी किया था। TestCase01 की तरह, testCare02 ... मुझे testCase01 चलाने के लिए अन्य "testCasexx" विधियों पर टिप्पणी करनी पड़ी या फिर यह एक अपवाद फेंकता है। सभी परीक्षण विधियों को सार्वजनिक करते हुए लगता है कि इस मुद्दे को सुलझा लिया गया है !!
01000001

1

हो सकता है कि आपका JUnit लॉन्च कॉन्फ़िगरेशन एक व्यक्तिगत परीक्षण वर्ग के लिए था, और आपने किसी भी तरह "किसी स्रोत फ़ोल्डर, पैकेज या प्रोजेक्ट में सभी परीक्षण चलाने" के लिए कॉन्फ़िगर किया था

लेकिन इससे परीक्षण धावक 'JUnit 4' "त्रुटि संदेश के साथ कोई भी परीक्षण नहीं हो सका।"

या आपने @Testएनोटेशन को हटाते हुए अपने टेस्ट क्लास में संशोधन किया ।
इस विकी पेज को देखें ।


@Test यहाँ है, संदेश है: मुख्य वर्ग toto.lolo.testrunner (जो रन विन्यास में निर्दिष्ट किया जाता है) faind नहीं कर सकता है
user281070

@lamisse: तो, क्लासपैथ मुद्दे के कुछ प्रकार? या एक सिंटेक्स मुद्दा: यह होना चाहिए toto.lolo.Testrunnerऔर नहीं toto.lolo.testrunner('टी')
VONC

@lamisse: "toto.lolo.Testrunner" आपके TestRunner वर्ग का वास्तविक नाम है? यह कुछ तुमने लिखा है? क्या प्रोजेक्ट / जार आपके लॉन्च कॉन्फ़िगरेशन के क्लासपाथ में है?
phtrivier

1

JUnit टेस्ट चलाते समय भी मुझे इसी मुद्दे का सामना करना पड़ा। मैंने मुख्य परीक्षा फ़ंक्शन के ठीक ऊपर एनोटेशन @ टेस्ट डालकर इसे हल किया।


1

क्या तय हुआ मेरा मामला @ जेम्सजी के जवाब के समान था: मैंने ग्रहण को फिर से शुरू किया, परियोजना का पुनर्निर्माण किया, और इसे ताज़ा किया; लेकिन इससे पहले कि मैंने इनमें से कोई भी किया, मैंने पहली बार परियोजना को बंद कर दिया (पैकेज एक्सप्लोरर में राइट-क्लिक प्रोजेक्ट -> क्लोज प्रोजेक्ट) और फिर इसे फिर से खोला। फिर काम हुआ।

एक वर्कअराउंड सॉल्यूशन जो मैंने उस अंतिम समाधान को खोजने से पहले पाया, जिसका मैंने केवल वर्णन किया था: टेस्ट क्लास को कॉपी करें, और टेस्ट क्लास को ज्निट के रूप में चलाएं।


1

जाँच करें कि क्या आपके परीक्षण फ़ोल्डर में एक स्रोत फ़ोल्डर है। यदि नहीं - राइट क्लिक करें और स्रोत फ़ोल्डर के रूप में उपयोग करें।


1

परियोजना को बंद करें और खोलें मेरे लिए काम किया।


1

एक और मौका है, हो सकता है कि आपने लोअर वर्जन (जैसे जून 3) से जुनिट टेस्ट को बदल कर जून 4 कर दिया हो। तो नीचे दिए गए चरणों का पालन करें: -

1. Right Click on class
2. Select Run as >> "Run Configurations"
3. Check your "Test Runner" option in new window
4. If it not same as maven change it for example change it as Junit 4.

1

@Testअपने परीक्षण के शीर्ष पर जोड़ें ।
माउस एनोटेशन को मँडराता है।
Chose 'add junit 4 Library to classpath'


0

क्या आपकी ग्रहण परियोजना मावेन आधारित है? यदि हां, तो आपको m2eclipse संस्करण को अपडेट करने की आवश्यकता हो सकती है।

बस एक त्वरित टिप्पणी: मेरे पास ग्रहण में एक परियोजना है जो मावेन-आधारित है, और शुरू में ग्रहण में "नई मावेन परियोजना" विज़ार्ड का उपयोग करके उत्पन्न हुई। मैं यूनिट परीक्षणों के लिए JUnit 4.5 का उपयोग कर रहा हूं, और मावेन का उपयोग करके कमांड लाइन से परीक्षण को बहुत खुशी से चला सकता हूं, और एक्लिप्स से व्यक्तिगत परीक्षणों को JUnit परीक्षण के रूप में चला रहा हूं .... हालांकि, जब मैंने सभी परीक्षणों को चलाने की कोशिश की। प्रोजेक्ट को नोड टेस्ट के रूप में चलाने के लिए ... प्रोजेक्ट रूट नोड पर, एक्लिप्स ने शिकायत की " परीक्षण धावक जून 4 के साथ कोई परीक्षण नहीं मिला "। M2eclipse को नवीनतम स्टीक डेवलपमेंट साइट से m2eclipse में अपग्रेड करके हल किया गया (विशेष रूप से, मैंने संस्करण 0.9.8.200905041414 से उन्नत संस्करण 0.9.9.200907201116 ग्रहण ग्रहण गैलीलियो में उन्नत किया)।

यहाँ से: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html


मुझे समझ नहीं आ रहा है, मुझे नहीं लगता कि यह eclispe संस्करण से संबंधित है, मेरे परीक्षण ने कल काम किया था और अब मामला नहीं है क्योंकि Junit लॉन्च पॉपअप मेरे पहले कॉन्फ़िगरेशन को पुनर्स्थापित करने का एक तरीका है?
user281070

लामिसे, मैं भी भ्रमित हूं। मेरा सुझाव है कि आप अपने सवाल को यह समझाने के लिए अपडेट करें कि यूनिट टेस्ट कब चलता है और कब काम नहीं करता है।
b.roth

0

यह मेरे साथ भी हुआ। मैंने पाया कि एक्लिप्स में मैंने एक नया जावा क्लास फाइल नहीं बनाया था और इसलिए यह संकलन नहीं था। अपने कोड को एक जावा क्लास फ़ाइल में कॉपी करने का प्रयास करें यदि यह पहले से ही नहीं है और फिर संकलित करें।


0

मुझे पता चला कि एक्लिप्स केवल JUnit 3 स्टाइल टेस्ट करने के लिए लगता है अगर आपका टेस्ट-क्लास इससे बाहर निकलता है TestCase। यदि आप उत्तराधिकार को हटाते हैं, तो एनोटेशन ने मेरे लिए काम किया।

खबरदार कि आप की assert*तरह सभी आवश्यक तरीकों को सांख्यिकीय रूप से आयात करने की आवश्यकता है import static org.junit.Assert.*


0

मुझे कमांड लाइन पर एक mvan क्लीन करना था, फिर प्रोजेक्ट-> ग्रहण में क्लीन। मैंने पहले कक्षा का नाम बदला फिर नाम बदल दिया लेकिन मुझे संदेह है कि इससे मदद मिली।


0

मैं मावेन (एम 2 1.4) के साथ एक्लिप्स भी चला रहा हूं। परीक्षण मावेन के साथ चल रहे थे, लेकिन ग्रहण के साथ नहीं ... कई अनुप्रयोगों के बाद भी Maven>Update project

मेरा समाधान था कि m2e द्वारा निर्मित .classpath में कुछ पंक्तियों को जोड़ा जाए। लाइनें अब चिपकी हुई हैं।

<classpathentry kind="src" output="target/test-classes" path="src/test/java">
  <attributes>
    <attribute name="optional" value="true"/>
    <attribute name="maven.pomderived" value="true"/>
  </attributes>
</classpathentry>

0

मुझे समय-समय पर यह समस्या है। मेरे लिए सबसे अधिक समस्या का समाधान करने वाली बात रन कॉन्फ़िगरेशन से जेयूनिट परीक्षा को चलाने के लिए है ... यह सुनिश्चित करना कि जेयूनिट 4 को परीक्षण धावक के रूप में सेट किया गया है।

आम तौर पर, मैं इस मुद्दे को रन-वे के रूप में देखने का प्रयास करता हूं ... पैकेज एक्सप्लोरर पर संदर्भ मेनू से जूनिट परीक्षण। यदि आप सही तरीके से उस परीक्षण के लिए कोड पर क्लिक करते हैं, जिसे आप चलाने की कोशिश कर रहे हैं और रन असेंबली का चयन करने के बजाय ... जून टेस्ट को आप रन कॉन्फ़िगरेशन चुनें ... प्रोजेक्ट, टेस्ट क्लास और टेस्ट रनर को सही ढंग से सेट करें, लागू करें पर क्लिक करें, फिर चलाएं मेरे लिए हर समय काम करता है।


0

मैंने अपनी नौकरी में सेलेनियम और एक्लिप्स के साथ काम करना शुरू कर दिया था और मैं अपना पहला स्वचालित परीक्षण कर रहा था और मैंने @Before, @Test, और @ नोटों के कोड से हटा दिया था और मुझे यह समस्या हो रही थी "परीक्षण चलाने के साथ कोई परीक्षण नहीं मिला junit4" ।

मेरा समाधान यह था कि फिर से @Before, @Test और @After नोटों को जोड़ा जाए और इसके साथ ही मेरी स्क्रिप्ट पर काम किया जाए। कोड से इसे नहीं हटाना महत्वपूर्ण है।

यह एक सरल परीक्षण है जो Google का उपयोग कुछ खोजने के लिए करता है:

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;

import org.junit.*;

import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class TestingClass {

    private WebDriver driver;
    //Creates an instance of the FirefoxDriver
    **@Before**
    public void SetUp() throws Exception {
        driver = new FirefoxDriver();
    }

    **@Test**   
    //Search using keyword through Google Search
    public void TestTestClass2 () throws Exception {
        driver.get("http://www.google.com.mx/");
        driver.findElement(By.name("q")).sendKeys("selenium");
        Thread.sleep(10000);
        driver.findElement(By.name("btnG")).click();
        Thread.sleep(10000);
    }

    //Kill all the WebDriver instances
    **@After**
    public void TearDown() throws Exception {
        driver.quit();
    }

}

0

ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe) का उपयोग करना मुझे Right Click Scala Test Class-> Run As -> Scala Junit Testसंदर्भ मेनू के साथ एक समान समस्या थी ।

मैंने कक्षा को संपादित करने की कोशिश की (लेकिन एक संकलन में विफलता के लिए नहीं), सफाई करना, परियोजना को बंद करना, ग्रहण को बंद करना। उन लोगों में से किसी ने उन वर्गों के लिए संदर्भ मेनू को पुनर्स्थापित करने के लिए काम किया जो पहले अच्छी तरह से काम कर चुके थे। परीक्षण वर्ग @Testएनोटेशन का उपयोग नहीं करते हैं और इसके बजाय @RunWith(classOf[JUnitRunner])स्कैलेस्ट कोड का उपयोग करके क्लास के शीर्ष पर एनोटेशन का उपयोग करते हैं।

जब मैंने Scala Junit Testरन कॉन्फ़िगरेशन लॉन्च संपादक से सीधे चुनने की कोशिश की , तो मुझे प्रश्न से संवाद प्राप्त हुआ। Footix29 का जवाब मेरे लिए महत्वपूर्ण था।

मैंने देखा कि भले ही मैंने अपनी परियोजना को कुछ बार साफ किया था, लेकिन / बिन निर्देशिका में मेरी कक्षाओं को वास्तव में थोड़ी देर में पुनर्निर्माण नहीं किया गया था।

यहां बताया गया है कि मुझे संदर्भ मेनू वापस मिल गया, और एक बार फिर से चलाने में सक्षम था Scala Junit Test:

  • manually/bin/<package dir>*एक्सप्लोरर के माध्यम से हटाकर कक्षाओं को साफ किया
  • Project -> Cleanएक पूर्ण पुनर्निर्माण के साथ परियोजना को संपादित करें

मुझे संदेह है कि सामान्य रूप से संपादित एक वर्ग ग्रहण की कुछ सहेजी गई स्थिति को साफ करने और फिर से प्राप्त करने में सक्षम है। मेरे मामले में, मेरे द्वारा पहले की कोशिश की गई सभी कक्षाएं विफल हो गई थीं, इसलिए manualस्वच्छ कदम सिर्फ मेरे लिए आवश्यक हथौड़ा था। हालांकि, अन्य चालें जो क्लास पथ / बिल्ड स्टेट की ग्रहण की अवधारणा को प्रभावित करती हैं, उन्हें भी काम करना चाहिए।

इसके अलावा, मुझे लगता है कि इस व्यवहार को एक स्काला वर्ग का नाम बदलकर (जो कि स्केला ग्रहण आईडीई बेकार है) का नाम बदलकर करने की कोशिश में भाग लिया गया था, जहां प्रारंभिक फ़ाइल परिवर्तन के बाद सभी सफाई मैनुअल है। बिल्ड एरर नहीं थे, लेकिन ऐसी कोई चेतावनी भी नहीं थी कि मैं उम्मीद कर रहा था कि कुछ निश्चित रूप से एक्लिप्स की बिल्ड स्टेट जानकारी में फंस गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.