পরীক্ষা রানার 'জুনিট 4' এর সাথে কোনও পরীক্ষা পাওয়া যায়নি


105

আমার জাভা পরীক্ষাটি Eclipse থেকে ভাল কাজ করেছে। তবে এখন, আমি রান মেনু থেকে পরীক্ষাটি পুনরায় চালু করার সময়, আমি নিম্নলিখিত বার্তাটি পাই:

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
প্রসাদ VSV

জন্য junit 5 দেখতে এখানে
আনন্দ Rockzz

উত্তর:


155

এই মাত্র আমার ঘটেছে. পুনরায় বিল্ডিং বা পুনরায় আরম্ভের ফলে কোনও কার্যকর হয়নি।

"টেস্ট ..." (JUnit3 শৈলী) দিয়ে শুরু করার জন্য পরীক্ষার একটি পদ্ধতির নাম পরিবর্তন করে আমি এটি সমাধান করেছি এবং তারপরে সমস্ত পরীক্ষাগুলি পাওয়া যায়। আমি এর আগের নামটি দিয়েছিলাম এবং এটি এখনও কার্যকর হয় to


7
আমার testQuotesঅন্যান্য পদ্ধতিগুলির মতো পদ্ধতি রয়েছে যা পরীক্ষা দিয়ে শুরু হয় না তবে তবুও আমার কোনও পরীক্ষায় ত্রুটি পাওয়া যায়নি
রাচেল

1
আমার প্রসারিত ক্লাসে একই সমস্যা ছিল junit.framework.TestCaseএবং আমার পরীক্ষাগুলি "পরীক্ষা" দিয়ে শুরু করা দরকার। প্রসারিত করার পরিবর্তে TestCase, আমি একটি আমদানি যুক্ত করেছি: import static org.junit.Assert.*;এবং আমি কীভাবে চাই তার পদ্ধতিগুলির নাম দিতে পারি। উদ্ভট ...
মিঃড্রুজ

6
গুরুতরভাবে, এমনকি যদি একটি পরীক্ষা @ টেস্ট দ্বারা টীকায়িত করা হয়, তবুও পরীক্ষা ফাংশনটির নামটি "পরীক্ষা" দিয়ে উপসর্গ করা প্রয়োজন?
ব্রায়ান শোটোলা 16

4
আপনি সেই তালিকায় 2015 এবং Eclipse Luna যুক্ত করতে পারেন। আসলে আমার @ টেস্টের অনেকগুলি পদ্ধতি এখনও উপসর্গ "পরীক্ষা" দিয়ে শুরু হয়। আমি একটি পরীক্ষার সেই উপসর্গটি সরিয়ে দিয়েছি , সংরক্ষণ করেছি এবং তারপরে সমস্ত পরীক্ষার সন্ধান পেয়েছি। এরপরে আমি এটিকে আবার যুক্ত করেছিলাম এবং সমস্ত পরীক্ষার সন্ধান পাওয়া যায়। দেখে মনে হচ্ছে এটি কোনও পদ্ধতি (ফাইল?) পরিবর্তন করা সম্পর্কে আরও বেশি যে গ্রহটি সবকিছু পুনরায় আবিষ্কার করে।
ব্রায়ান হোয়াইট

2
অ্যান্ড্রয়েড স্টুডিও ২.১.১, মে ২০১ 2016, এখনও কাজ করে। আমি অবাক হয়েছি এই উত্তরটি মহাবিশ্বের শেষ অবধি কার্যকর হবে কিনা?
ব্লুবার্ট

42

যখন আমরা এই ত্রুটিগুলি পেয়ে থাকি তখন মনে হয় ग्रहणটি কেবল বিভ্রান্ত হয়। Eclipse পুনঃসূচনা করুন, প্রকল্পটি রিফ্রেশ করুন, এটি পরিষ্কার করুন ,গ্রহণটি এটি পুনর্নির্মাণ করুন এবং আবার চেষ্টা করুন। বেশিরভাগ সময় এটি কবজির মতো কাজ করে।


1
হ্যাঁ আমার পক্ষেও কাজ করেছিলেন এবং ড্লেম্বলিনের সাথে একমত হন। প্রোডিংয়ের প্রথম 5 মিনিটের মধ্যে সমাধান করা যায় না এমন যে কোনও বিজোড় সমস্যার জন্য সর্বদা পুনরায় চালু করার চেষ্টা করার জন্য ভাল অনুস্মারক।
থিয়েন

3
আমার এই সমস্যাটি ছিল এবং আমি উত্স ফাইলটি বন্ধ করে দিয়েছি যেখানে আমি আমার পরীক্ষা ক্লাসটি সংজ্ঞায়িত করেছি, ন্যাভিগেটরে সেই ফাইলটিতে ডাবল ক্লিক করা হয়েছিল এবং এটি কার্যকর হয়েছিল। সুতরাং Eclipse পুনরায় আরম্ভ না করেই ফাইলটি বন্ধ এবং পুনরায় খোলার কাজ।
মেটাম্যাট

11
এটি সত্যিই আমাকে নতুন আইডিই সন্ধান করতে বাধ্য করে। এটি আমার জন্য কাজ করেছে।
শেঠ এম

1
প্রকল্পটি বন্ধ এবং পুনরায় খোলা আমার জন্য এটি স্থির!
মার্টিন চার্লসওয়ার্থ

34

আপনার 'পরীক্ষা' ডিরেক্টরিটির প্রসঙ্গ মেনুতে 'নির্মাণের পথ' -> 'উত্স ফোল্ডার হিসাবে ব্যবহার করুন' চয়ন করুন। গ্রহনটি আপনার ইউনিট টেস্ট.জভা ফাইলগুলি উত্স ফাইল হিসাবে দেখা উচিত। আপনার 'বিল্ড' ডিরেক্টরিতে ইউনিট টেস্ট.ক্লাস ফাইল নেই বলে সতর্কতা 'জুনিত পরীক্ষা খুঁজে পাওয়া যায় নি' occ


এটি আমার জন্য কার্যকর সমাধান। পুনঃসূচনাটি কাজ করে না।
অ্যান্ড্রি

আমার এই "টেস্ট" ফোল্ডারটি "এসসিআর" ফোল্ডারে না থাকায় এটিই ছিল। আমি এটি করেছিলাম, তারপরে অন্যান্য উত্তরের পরামর্শ অনুসারে প্রকল্পটি খুলুন / বন্ধ করে দেওয়া হয়েছে এবং এখন এটি সংকলন করে এবং জুনাইট পরীক্ষা হিসাবে চলে। ধন্যবাদ!
quux00

আমি প্রকল্পটি -> জাভা বিল্ড পাথ -> উত্স -> পরীক্ষার ফোল্ডারটি নির্বাচন করে এটি করেছি। অনেক ধন্যবাদ!
পিটার ক্লজ

যদি উত্স ফোল্ডার হিসাবে যদি ইতিমধ্যে src / test / groovy আপনার বিল্ড পথে থাকে তবে এটিকে সরান এবং তারপরে এটি আবার যুক্ত করুন। প্রতিটি পরীক্ষার ফাইলে
@

32

আপনার পরীক্ষার শ্রেণিটি "টেস্টকেস" প্রসারিত করে কিনা তা পরীক্ষা করুন। যদি তা হয় তবে সেই ধারাটি সরিয়ে দিন। আপনার ক্লাসটি "টেস্টকেস" ক্লাস থেকে বাড়ানোর দরকার নেই। এটি আমার দেখা বেশিরভাগ ক্ষেত্রে।

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

টেস্টকেস অনুসরণ করা ভাল should

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

এটি সত্যই সঠিক উত্তর। আমি এটি ইন্টেলিজ এবং জুনিট ৪.১ দিয়ে পরীক্ষা করেছি এবং এটি কার্যকর!
ডিও ফুং

আমি যে সমস্যার মুখোমুখি হচ্ছি তা হ'ল, গ্রহণায় আমার JUnit পরীক্ষা ভাল চলছে, তবে আমি যখন এগুলিকে একটি JAR রফতানি করি তখন আমি উপরের ত্রুটিটি পাই। কোন ধারনা?
3:44 এ টু লেয়ার্ন চেষ্টা করছে

এটি কি এই দিনগুলিতে অন্যভাবে? "এক্সটেন্ডেড টেস্টকেস" যুক্ত করা আমার জন্য সমস্যার সমাধান করেছে।
হেইনজলমেন

আমার জন্য কাজ !!! ধন্যবাদ
JRichardsz

27

আমি একই সমস্যার মুখোমুখি হয়েছি এবং আমি এটি ওয়েব এবং জুনিটের অভ্যন্তরীণগুলিতে খারাপ উদাহরণগুলিতে ডিবাগ করেছি। মূলত আপনার ক্লাসটি টেস্টকেস প্রসারিত করবেন না যেমন জুনিট ৪.x এর কয়েকটি উদাহরণ দেখায়। কিছু নামকরণের কনভেনশন টেস্ট ব্যবহার করুন বা আপনি যদি কোনও টিকা দিতে চান তবে আপনি @ রুনউইথ (JUnit4.class) ব্যবহার করতে পারেন।

আপনার যদি অ্যাসেসের প্রয়োজন হয় তবে স্ট্যাটিক আমদানিগুলি বাড়ানো বা ব্যবহার করতে জোর দেওয়া পদ্ধতিগুলি অ্যাক্সেসের প্রয়োজন হয়।

যদি আপনার ক্লাসটি টেস্টকেস প্রসারিত করে তবে আপনি জুনিট 4 রানার ব্যবহার করলেও এটি 3 হিসাবে চালানো হবে এটি কারণ সূচনা কোডটিতে সনাক্তকরণ রয়েছে:

JUnit3 বিল্ডার এবং লাইনগুলি দেখুন:

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

এটি সত্য ফিরে আসে এবং জুনিট 4 সামঞ্জস্যের জন্য পরীক্ষার চেষ্টা করা হবে না।


2
এটি আমার জন্য সমস্যার সমাধান। আপনি যদি জুনিটকে প্রথমে কীভাবে ব্যবহার করতে হয় তার পুরানো উদাহরণগুলি যদি দেখেন তবে তারা আপনাকে বিপথগামী করবে।
অ্যালেক্স কিলপ্যাট্রিক

"যদি আপনার ক্লাসটি টেস্টকেস প্রসারিত করে তবে আপনি জুনিট 4 রানার ব্যবহার করলেও এটি 3 হিসাবে চালানো হবে" - এটি সত্য নয় (কমপক্ষে গ্রোভি এবং ইন্টেলিজ আইডিএর জন্য)। আমি JUnit 4.12 ব্যবহার করছি, এবং আমি @RunWith(JUnit4)"গ্রোভিটেসটেকেস" এর সাথে ক্লাসটি বর্নিত করেছি এবং প্রসারিত করেছি। @RunWith(JUnit4)আমি ছাড়া একই সমস্যা।
ভায়াস্লাভ গায়দারজি

আচরণটি এখনও 2017-এর মতোই রয়েছে (জুনিয়ট 4.12)।
শারমাপ

5

যুক্ত করার চেষ্টা করুন

পরীক্ষার জন্য পদ্ধতির উপরে @ টেস্ট করুন

@Test
public void testParse()
{

}

5

তবুও আরেকটি সম্ভাব্য সমাধান যা আমি রিংয়ে ফেলব: আমি সম্পাদক উইন্ডো বা প্যাকেজ এক্সপ্লোরার থেকে পরীক্ষার ক্লাসটি চালাতে সক্ষম হইনি, তবে বাহ্যরেখা ভিউতে শ্রেণীর নামের উপর ডান ক্লিক করে এবং জুনিয়ট হিসাবে রান নির্বাচন করুন টেস্ট কাজ করেছে ... ফিগার!


একই, রূপরেখা ভিউ থেকে এটি কাজ করে, অন্য সব কিছুই করে না - আমি 3 টি স্ট্যাক ওভারফ্লো থ্রেডে পোস্ট করা প্রতিটি সমাধান চেষ্টা করেছি, কিছুই কার্যকর হয় না
এমপিএসএল

এটি আমার পক্ষেও কার্যকর, তবে কোনও প্রকল্পের কভারেজ পরীক্ষার জন্য এটি অকেজো।
ধনী

4

JUnit4 এ কোনও পরীক্ষা-নিরীক্ষা নেই। পরিবর্তে টীকাগুলি ব্যবহার করুন বা পুরানো JUnit3 নাম কনভেনশন ব্যবহার করুন।

উদাহরণ:

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

4

আমার সাথেও এটি ঘটেছিল। আমি Eclipse পুনরায় আরম্ভ করার চেষ্টা করেছি এবং পরীক্ষার সাথে আমার পরীক্ষা পদ্ধতিগুলি উপসর্গও করেছি। কেউই কাজ করেনি।

নিম্নলিখিত পদক্ষেপটি কাজ করেছে: @ বিফোরক্লাস এবং @ আফটারক্লাসে উপস্থিত আপনার সমস্ত পরীক্ষার পদ্ধতিগুলি স্থির পদ্ধতিতে পরিবর্তন করুন।

উদাহরণস্বরূপ, যদি নীচের বিন্যাসে আপনার পরীক্ষা পদ্ধতি থাকে:

@BeforeClass
public void testBeforeClass(){
}

তারপরে এটিকে পরিবর্তন করুন:

@BeforeClass
public static void testBeforeClass(){
}

এটি আমার পক্ষে কাজ করেছে।


4

আমি উত্তরটি খুঁজে পেয়েছি:

আমি এই ত্রুটিটি পেয়েছি যখন আমিগ্রহণ থেকে পরীক্ষা স্ট্যান্ডলোনটি সম্পাদন করেছি (পদ্ধতিটিতে ডান ক্লিক করুন এবং জুনিট পরীক্ষা হিসাবে চালানোর জন্য চয়ন করুন),

আমি যখন জুনিট টেস্ট হিসাবে সম্পূর্ণ ক্লাসটি কার্যকর করি তখন প্যারামিটারগুলি দিয়ে পরীক্ষাটি কার্যকরভাবে সম্পাদিত হয়।


3

যখন আমি এই সমস্যার মুখোমুখি হই তখন আমি কেবল ফাইলটি সম্পাদনা করি এবং এটি সংরক্ষণ করি ... কবজির মতো কাজ করে


1
হাই সাথী এবং স্ট্যাকওভারফ্লোতে স্বাগতম! :) আপনি কি দয়া করে আপনার উত্তরটি বিস্তারিতভাবে বর্ণনা করতে পারেন?
লিটম

@ মাহেশ আপনার অর্থ ফাইলটি রিফ্রেশ করুন (এটি নির্বাচন করুন এবং এফ
ক্যাসিয়ান

আমি স্কেলা থেকে একই সমস্যার মুখোমুখি হচ্ছি, অর্থাৎ আমার পরীক্ষাগুলি JUnit4 এর জন্য লেখা আছে তবে সেগুলি স্কেলে রয়েছে ala @ মাহেশের পরামর্শ অনুসারে সমাধানটি হ'ল সংকলকটিকে একটি কিক দেওয়া। আপনি ফাইল সম্পাদনা করার সময় আপনি কী করেন তা বিবেচ্য নয়, আপনাকে কেবল এটি সম্পাদনা করতে হবে। আমি এমন কিছু টাইপ করি যা সিনট্যাক্স ত্রুটি দেয়, ফাইলটি সংরক্ষণ করে, তারপরে পূর্বাবস্থায় ফিরিয়ে আবার সংরক্ষণ করুন। হঠাৎ আমার পরীক্ষা চলছে। এটি আমার সাথে প্রায়শই ঘটে থাকে, কমপক্ষে প্রতিদিন, সাধারণত প্রতিদিন একাধিকবার।
এরিক জি। হ্যাজস্ট্রোম

3

আমার সমস্যাটি ছিল যে ঘোষণাটি import org.junit.Test;অদৃশ্য হয়ে গেছে (বা যুক্ত করা হয়নি?)। এটি যুক্ত করার পরে, আমাকে আবার একটি importঘোষণাপত্র সরিয়ে ফেলতে হয়েছিল (কোনটি আপনাকে গ্রহণের ইঙ্গিত দিচ্ছে) এবং সবকিছু আবার কাজ শুরু করে।


3

খুব দেরিতে তবে কী সমস্যাটি সমাধান করেছিল তা হ'ল আমার পরীক্ষার পদ্ধতির নামগুলি সমস্ত অক্ষর অক্ষর দিয়ে শুরু হয়েছিল: "পাবলিক শূন্য পরীক্ষা"। টিয়ার লো কেস কেস করা কাজ করেছে।


এটি আমার পক্ষে কাজ করে ... তবে এটি আশ্চর্যের সাথে একটি বিভ্রান্তিকর সমাধান
অঙ্কিত মিত্তাল

2

আমি জার্মান থেকে সমাধানটি চেষ্টা করেছিলাম। এটি আমার ক্লাস থেকে সমস্ত পদ্ধতির জন্য কাজ করেছে তবে আমার প্রকল্পে আমার অনেক ক্লাস রয়েছে।

তাই আমি বিল্ড পাথ থেকে সরানোর চেষ্টা করেছি এবং তারপরে এটি আবার যুক্ত করব। এটি পুরোপুরি কাজ করেছে।

আশা করি এটা সাহায্য করবে.


2

ছয় বছর পরে ... এবং এখনও গ্রহনটি নিয়ে সমস্যা রয়েছে এবং মাঝে মাঝে JUnits খুঁজে পাওয়া যায় নি।

আমার একিপ্লিস মঙ্গলে 2 আমি আবিষ্কার করেছি যে @Testফাইলে 9 বা 10 টিরও বেশি টিকা আছে তবে এটি গিট থেকে টানা পরীক্ষার ক্লাসগুলিকে স্বীকৃতি দেবে না । আমার যে কোনও অতিরিক্ত পরীক্ষার বিষয়ে মন্তব্য করা দরকার, পরীক্ষা ক্লাস চালানো উচিত, তারপরে সেগুলি নিঃশর্ত করা এবং ক্লাসটি পুনরায় চালানো দরকার। চিত্রে যান...


এখানে এই উত্তরটি সহায়ক, আমার ঠিক একই পরিস্থিতি ছিল না, তবে পরীক্ষার পদ্ধতির নামগুলি বেশ অনুরূপ ছিল এবং গ্রহপগুলি তাদের সন্ধান করার ক্ষেত্রে সমস্যা ছিল। TestCase01, testCare02 এর মতো ... আমাকে টেস্টকেস01 চালানোর জন্য অন্যান্য "টেস্টকেসএক্সএক্সএক্সএক্সএক্সএক্স" পদ্ধতিতে মন্তব্য করতে হয়েছিল অথবা অন্যথায় এটি ব্যতিক্রম ছুঁড়ে ফেলেছে। সমস্ত পরীক্ষার পদ্ধতি তৈরি করা পাবলিক এই সমস্যার সমাধান করেছে বলে মনে হচ্ছে !!
01000001

1

হতে পারে আপনার JUnit প্রবর্তন কনফিগারেশনটি পৃথক পরীক্ষার শ্রেণীর জন্য ছিল এবং আপনি কোনওরকমভাবে সেই কনফিগারেশনটি "উত্স ফোল্ডার, প্যাকেজ বা প্রকল্পের সমস্ত পরীক্ষা চালাতে" পরিবর্তন করেছেন

তবে এটি "পরীক্ষার রানার 'জুনট 4' এর ত্রুটি বার্তার সাথে কোনও পরীক্ষা খুঁজে পাওয়া যায় না।

অথবা আপনি @Testটীকাটি সরিয়ে আপনার পরীক্ষার শ্রেণিতে একটি পরিবর্তন করেছেন ।
এই উইকি পৃষ্ঠা দেখুন


@ টেস্টটি এখানে রয়েছে, বার্তাটি হ'ল: মূল শ্রেণীর টোটো.ললো.টেষ্টুনার (যা রান কনফিগারেশনে নির্দিষ্ট করা আছে) চিহ্নিত করতে
পারেনি

@ ল্যামিস: তো, কোনও ধরণের ক্লাসপাথ ইস্যু? বা একটি সিনটেক্স ইস্যু: এটি হওয়া উচিত toto.lolo.Testrunnerএবং না toto.lolo.testrunner('টি')
ভনসি

@ ল্যামিস: আপনার টেস্টরুনার ক্লাসের আসল নাম "toto.lolo.Testrunner"? এটি কি আপনি কিছু লিখেছেন? আপনার লঞ্চ কনফিগারেশনের শ্রেণিপথটিতে কী প্রকল্প / জারটি রয়েছে?
phtrivier

1

জুনিট পরীক্ষা চালানোর সময়ও আমি একই সমস্যার মুখোমুখি হয়েছিলাম। আমি এটিকে টোটালটি @ টেস্টকে মূল পরীক্ষার ফাংশনের ঠিক উপরে রেখে সমাধান করেছি।


1

আমার মামলাটি কীভাবে স্থির হয়েছিল @ জেমসজির উত্তরের অনুরূপ: আমি গ্রহনটি পুনরায় শুরু করেছি, প্রকল্পটি পুনর্নির্মাণ করেছি এবং তা সতেজ করেছি; তবে আমি এর যে কোনও কাজ করার আগে, আমি 1 ম প্রকল্পটি বন্ধ করে দিয়েছি (প্যাকেজ এক্সপ্লোরার -> ক্লোজ প্রজেক্টে ডান ক্লিক করুন প্রকল্প) এবং তারপরে এটি পুনরায় খোলা হয়েছে। তারপর এটি কাজ করে।

একটি চূড়ান্ত সমাধান আমি সবেমাত্র বর্ণিত চূড়ান্ত সমাধানটি সন্ধান করার আগে পেয়েছিলাম: পরীক্ষার ক্লাসটি অনুলিপি করুন এবং পরীক্ষার ক্লাসটিকে জুনট হিসাবে চালান run


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আপনার পরীক্ষার উপরে যুক্ত করুন ।
টীকাতে মাউস হোভার করুন।
ক্লাসপথে জুনিট 4 লাইব্রেরি যুক্ত করুন চয়ন করুন


0

আপনার Eclipse প্রকল্প maven ভিত্তিক? যদি তা হয় তবে আপনার এম 2 স্লিপস সংস্করণটি আপডেট করার প্রয়োজন হতে পারে।

কেবলমাত্র একটি দ্রষ্টব্য নোট: আমার একিপিসে একটি প্রকল্প রয়েছে যা খাঁটি-ভিত্তিক, এবং শুরুতে একটিলসে "নতুন মাভেন প্রকল্প" উইজার্ড ব্যবহার করে উত্পন্ন হয়েছিল। আমি ইউনিট পরীক্ষার জন্য JUnit 4.5 ব্যবহার করছি, এবং খুব খুশির সাথে কমান্ড লাইন থেকে মাভেন ব্যবহার করে পরীক্ষা চালাতে পারছিলাম, এবং এক্সপ্লিট থেকে পৃথক পরীক্ষা JUnit পরীক্ষা হিসাবে রান ব্যবহার করছিলাম .... তবে, যখন আমি সমস্ত পরীক্ষা চালানোর চেষ্টা করেছি প্রকল্পের রুট নোডে ... ইউনিত পরীক্ষা হিসাবে চালিত হয়ে প্রকল্পে, গ্রহপস অভিযোগ করেছিলেন, " পরীক্ষা রানার জুনেট ৪-এর সাথে কোনও পরীক্ষা পাওয়া যায়নি "। M2eclipse আপডেট সাইট থেকে সর্বশেষ স্থিতিশীল ডেভলপমেন্ট বিল্ডে m2eclipse আপগ্রেড করে সমাধান করা হয়েছে (বিশেষত, আমি এক্সিলিপ গ্যালিলিওর 0.9.8.200905041414 সংস্করণ থেকে 0.9.9.200907201116 সংস্করণে আপগ্রেড করেছি)।

এখান থেকে: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html


আমি বুঝতে পারি না, আমি মনে করি না যে এটি গ্রীক সংস্করণের সাথে সম্পর্কিত, আমার পরীক্ষা গতকাল কাজ করেছিল এবং এখন কেস নয় কারণ জুনিত লঞ্চের কারণে পপআপ আমার প্রথম কনফিগারেশনের পুনরায় চেষ্টা করার উপায় আছে?
ব্যবহারকারী 281070

ল্যামিস, আমিও বিভ্রান্ত। আমি পরামর্শ দিচ্ছি যে ইউনিট পরীক্ষা কবে চালানো হয় এবং কখন এটি কার্যকর হয় না তা ব্যাখ্যা করার জন্য আপনি আপনার প্রশ্ন আপডেট করুন।
বি.রোথ

0

এইটা আমার সাথে ঘটেছে. আমি দেখতে পেলাম যে Eclipse এ আমি একটি নতুন জাভা ক্লাস ফাইল তৈরি করিনি এবং সে কারণেই এটি সংকলন করছে না। আপনার কোডটি ইতিমধ্যে সেখানে না থাকলে একটি জাভা ক্লাস ফাইলে অনুলিপি করার চেষ্টা করুন এবং তারপরে সংকলন করুন।


0

আমি জানতে পেরেছিলাম যে আপনার পরীক্ষা-শ্রেণিটি প্রসারিত হয়ে থাকলে Eclipse কেবলমাত্র JUnit 3 শৈলীর পরীক্ষা করবে TestCase। যদি আপনি উত্তরাধিকার সরিয়ে দেন, টীকাগুলি আমার পক্ষে কাজ করেছিল।

সাবধান যে আপনার প্রয়োজনীয় সমস্ত assert*পদ্ধতি যেমন স্ট্যাটিকভাবে আমদানি করা দরকার import static org.junit.Assert.*


0

আমি কমান্ড লাইনে একটি এমভিএন ক্লিন করতে হয়েছিল তখন গ্রাহকে পরিষ্কার করে প্রজেক্ট-> ক্লিন করতে হয়েছিল। আমি ক্লাসটির পূর্বে নামকরণ করে আবার নামকরণ করেছি তবে আমি সন্দেহ করি যে এটি সাহায্য করেছিল।


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

আমার সময়ে সময়ে এই সমস্যা আছে। আমার পক্ষে যে বিষয়টি সবচেয়ে বেশি সমাধান করে তা হ'ল রান কনফিগারেশনগুলি থেকে JUnit পরীক্ষা চালানো ... এটি নিশ্চিত করে যে JUnit 4 পরীক্ষা রানার হিসাবে সেট করা আছে।

সাধারণত, আমি হিসাবে চালানোর চেষ্টা করার সময় এই সমস্যাটি দেখি ... প্যাকেজ এক্সপ্লোরারের কনটেক্সট মেনু থেকে জুনিট পরীক্ষা। আপনি যে পরীক্ষার জন্য চালানোর চেষ্টা করছেন তার জন্য কোডটি যদি সঠিকভাবে ক্লিক করেন এবং রান হিসাবে নির্বাচন করার পরিবর্তে ... জুনিট টেস্ট আপনি রান কনফিগারেশন নির্বাচন করেন ... প্রকল্পটি নিশ্চিত করুন, পরীক্ষার ক্লাস এবং পরীক্ষা রানার সঠিকভাবে সেট হয়েছে, প্রয়োগ ক্লিক করুন, তারপরে রান করুন আমার জন্য সব সময় কাজ করে।


0

আমি আমার চাকরিতে সেলেনিয়াম এবং একলাইপসের সাথে কাজ শুরু করেছিলাম এবং আমি আমার প্রথম স্বয়ংক্রিয় পরীক্ষা করছিলাম এবং আমি @ পূর্ব, @ টেস্ট, এবং @ নোটের কোড থেকে মুছে ফেলেছিলাম এবং আমার এই সমস্যাটি ছিল "টেস্ট রানার জুনিট 4 এর সাথে কোনও পরীক্ষার সন্ধান পাওয়া যায় নি" ।

আমার সমাধানটি ছিল কেবল আবার @ পূর্ব, @ টেস্ট এবং @ আফ্রিকার নোটগুলি যুক্ত করা এবং এটির সাথে আমার স্ক্রিপ্টটি কাজ করেছিল। কোড থেকে এটি মুছে ফেলা গুরুত্বপূর্ণ নয়।

এটি একটি সাধারণ পরীক্ষা যা গুগলকে কিছু অনুসন্ধান করতে ব্যবহার করে:

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

স্কেলেইড (3.0.4-2.11-20140723-2253-টাইপসেফ) ব্যবহার করে আমার Right Click Scala Test Class-> Run As -> Scala Junit Testপ্রসঙ্গ মেনুতে একই সমস্যা ছিল ।

আমি ক্লাসটি সম্পাদনা করার চেষ্টা করেছি (তবে একটি সংকলন ব্যর্থতার জন্য নয়), পরিষ্কার করা, প্রকল্পটি বন্ধ করে, Eclipse বন্ধ করে দেওয়ার চেষ্টা করেছি। এর মধ্যে কেউই আগে ভাল কাজ করে এমন ক্লাসগুলির প্রসঙ্গ মেনুটি পুনরুদ্ধার করতে কাজ করেনি। পরীক্ষার ক্লাসগুলি @Testটীকাটি ব্যবহার করে না এবং পরিবর্তে @RunWith(classOf[JUnitRunner])স্কেলাস্টেস্ট কোড ব্যবহার করে ক্লাসের শীর্ষে টীকাটি ব্যবহার করে ।

আমি Scala Junit Testসরাসরি রান কনফিগারেশন লঞ্চ সম্পাদক থেকে বাছাই করার চেষ্টা করার সময় , প্রশ্নটি থেকে ডায়ালগটি পেয়েছি। ফুটিক্স ২৯ এর উত্তরটি আমার পক্ষে মূল বিষয় ছিল।

আমি লক্ষ করেছি যে আমি কয়েকবার আমার প্রকল্পটি পরিষ্কার করে নিলেও / বিন ডিরেক্টরিতে আমার ক্লাসগুলি আসলে কিছুক্ষণের মধ্যে পুনরায় তৈরি করা হয়নি।

এখানে আমি কীভাবে প্রসঙ্গ মেনুটি ফিরে পেয়েছি এবং আবার Scala Junit Testএস চালাতে সক্ষম হয়েছি তা এখানে :

  • manually/bin/<package dir>*এক্সপ্লোরার মাধ্যমে মুছে ক্লাস পরিষ্কার
  • Project -> Cleanসম্পূর্ণ পুনর্নির্মাণের সাথে প্রকল্পটি সম্পাদনা করুন

আমার সন্দেহ হয় যে কোনও শ্রেণি সম্পাদনা সাধারণভাবে কিছুটা সংরক্ষণের রাজ্যটিকে Eclipse এ পরিষ্কার করতে সক্ষম হয় এবং এটি আবার চলছে get আমার ক্ষেত্রে আগের যে সকল শ্রেনী শ্রেণি আমি চেষ্টা করেছিলাম সেগুলি ব্যর্থ হয়েছিল তাই manualপরিষ্কার পদক্ষেপটি কেবল আমার হাতুড়ি প্রয়োজন। যাইহোক, অন্যান্য কৌশলগুলি যা ক্লাসের পথ / বিল্ডের রাজ্যের Eclipse এর ধারণাকে প্রভাবিত করে তাদেরও কাজ করা উচিত।

আরও, আমি মনে করি যে এই স্কেল ক্লাসটির নাম পরিবর্তন করে (যা স্কালাল এক্লিপস আইডিই সাফল্য অর্জন করে) রিফ্যাক্টর করার চেষ্টা করে এই আচরণটির একটি অংশে ট্রিগার হয়েছিল, যেখানে প্রাথমিক ফাইল পরিবর্তনের পরে সমস্ত ক্লিনআপ ম্যানুয়াল। কোনও বিল্ড ত্রুটি ছিল না, তবে এমন কোনও সতর্কতাও ছিল না যা আমি আশা করছিলাম যা অর্থের কিছুটা অবশ্যই গ্রহনের বিল্ড স্টেটের তথ্যে আটকেছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.