2011-03-13 15 views
23

का उपयोग करते समय NoClassDefFoundError PowerMock परीक्षण धावक का उपयोग कर junit परीक्षण केस चला रहा हूं। मैं इसे निष्पादित करने के लिए निम्न आदेश पंक्ति का उपयोग कर रहा:PowClock

java -cp .:junit-4.9b2.jar:easymock-3.0.jar:powermock-easymock-1.4.8-full.jar org.junit.runner.JUnitCore SampleTest 

जब ऐसा करने से मैं इस त्रुटि मिल रही है:

initializationError(SampleTest) 
java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner 
... 

मैं इसे कैसे ठीक कर सकते हैं?

उत्तर

0

मैंने समस्या हल की। मैंने पुराने संस्करण जूनिट-4.0.jar का इस्तेमाल किया। लेकिन मुझे अभी भी समझ में नहीं आ रहा है कि क्लास टेस्ट क्लासरुनर को विशेष रूप से पैकेज में पावरमॉक- एसिमॉक- जुजिट -1.4.8.ज़िप (जूनिट -4.8.2.जर) में क्यों गुम है? जूनिट -4.8.2.jar कक्षा टेस्ट क्लासरुनर भी गायब है।

+0

यह सही समाधान नहीं है - केवल एक समाधान। मेरा उत्तर – RonK

63

मैं बस अब यह एक हल है, जब मैं @RunWith(PowerMockRunner.class) विशेषता को जोड़, eclipse स्वचालित रूप से आयात:

import org.powermock.modules.junit4.legacy.PowerMockRunner; 

सभी मुझे क्या करना के लिए इसे बदल जाता है की जरूरत होने के लिए:

import org.powermock.modules.junit4.PowerMockRunner; 

और अब यह JUnit 4.8.2 के साथ ठीक काम करता है।

दूसरा धावक JUnit के पुराने संस्करणों के साथ चल रहा है - विशेष रूप से 4.3 और पुराने।

+0

उत्तर के लिए धन्यवाद देखें। – jatanp

+0

धन्यवाद बहुत रोना !! – NiranjanBhat

+1

इसके लिए आपको बहुत बहुत धन्यवाद :) – shafeeq

5

देखें here

You're probably using the wrong PowerMockRunner. There's one runner made for JUnit 4.4 and above and a second runner made for JUnit 4.0-4.3 (although the latter also works for some older minor versions of JUnit 4.4).
Try switching from the org.powermock.modules.junit4.PowerMockRunner to org.powermock.modules.junit4.legacy.PowerMockRunner or vice versa. Look at the getting started guide to see how to configure this in maven.