.net - কেন ভিজুয়াল স্টুডিও 2015/2017/2019 টেস্ট রানার আমার এক্স ইউনাইট ভি 2 পরীক্ষাগুলি আবিষ্কার করছে না




visual-studio unit-testing (20)

  1. সমস্ত ভিজ্যুয়াল স্টুডিও দৃষ্টান্ত বন্ধ করুন
  2. % TEMP% Go এ যান ভিজ্যুয়াল স্টুডিওটেষ্টএক্সপ্লোরার এক্সটেনশানস \
  3. সম্পর্কিত ফোল্ডারগুলিকে মুছুন
  4. আবার চেষ্টা করুন

ধন্যবাদ আমাকে জানাবেন

আপডেট: একটি 2019 যুক্ত করা; আবিষ্কার / রানার ইন্টিগ্রেশন মেকানিজম 2017 এবং 2015 অনুযায়ী একই, সুতরাং যে সমস্যাগুলি ভুল হতে পারে সেগুলি একই are

আমি পড়েছি কেন xUnit রানার আমার পরীক্ষাগুলি খুঁজে পাচ্ছে না, যার কারণগুলি জুড়ে যে xUnit কখনই আপনার পরীক্ষাগুলি খুঁজে পেতে সক্ষম হবে না তবে আমার সমস্যাটি আলাদা - আমি নিশ্চিত যে আমার পরীক্ষাগুলি নিয়ে সূক্ষ্ম কিছু নেই; (তারা অন্যান্য পরিবেশে কাজ করেছে, এটি কেবল আমার মেশিন বলে মনে হচ্ছে) - ভিজ্যুয়াল স্টুডিও 2015 [সম্প্রদায়ের সংস্করণ] এর ভিজ্যুয়াল স্টুডিও টেস্ট রানার আমার পরীক্ষার কোনও কিছুই প্রদর্শন করছে না। আমি দূর থেকে উত্তেজনাপূর্ণ কিছু করছি না; পরীক্ষাগুলি ডেস্কটপে xUnit.net v2 লক্ষ্য করে।

আমি আউটপুট উইন্ডোতে দেখেছি এবং ট্যাবগুলি থেকে প্রদর্শন আউটপুটে টেস্টের অধীনে কিছুই দেখছি না।


  1. আপনার অনুসন্ধানগুলি থেকে আবিষ্কারের ব্যতিক্রমগুলি দূর করুন; আউটপুট উইন্ডোতে যান (Ctrl-Alt-O), তারপরে ড্রপডাউন (Shift-Alt-S) থেকে টেস্টে শো আউটপুটটি স্যুইচ করুন এবং নিশ্চিত করুন যে কোনও আবিষ্কার ব্যতিক্রম নেই make

  2. এই উত্তরে যেমন পরামর্শ দেওয়া হয়েছে ( ডেস্কটপ কনসোল রানার চালনা করা হলে এটি upvote করুন) instructions চালনা করা অন্যান্য সম্ভাব্যতা যেমন: ম্যাংলেড কনফিগারেশন ফাইলগুলি মুছে ফেলার জন্য ভাল ক্রস চেক হতে পারে: -

    packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>

  3. পরীক্ষা | টেস্ট সেটিংস | ডিফল্ট প্রসেসরের আর্কিটেকচার সাহায্য করতে পারে যদি আপনার পরীক্ষাগুলি x86 / x64 নির্দিষ্ট থাকে এবং আবিষ্কারটি বিটনেড-সম্পর্কিত ব্যতিক্রমগুলি ট্রিগার করে, অর্থাৎ কোনওসিপু নয়

ডকুমেন্টেশন পড়ুন - এটি সর্বশেষ, সর্বশেষে সমস্যা সমাধানের তথ্য অন্তর্ভুক্ত করে এবং পিআর গ্রহণ করে: -

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

আপনার যদি পরীক্ষাগুলি আবিষ্কার করতে বা চালাতে সমস্যা হয় তবে আপনি ভিজ্যুয়াল স্টুডিওর ভিতরে দূষিত রানার ক্যাশের শিকার হতে পারেন। এই ক্যাশেটি সাফ করতে, ভিজ্যুয়াল স্টুডিওর সমস্ত দৃষ্টান্ত বন্ধ করুন, তারপরে %TEMP%\VisualStudioTestExplorerExtensions ভিজ্যুয়াল স্টুডিওটেষ্ট %TEMP%\VisualStudioTestExplorerExtensions মুছুন। এছাড়াও নিশ্চিত করুন যে আপনার প্রকল্পটি শুধুমাত্র ভিজ্যুয়াল স্টুডিও রানার xunit.runner.visualstudio প্যাকেজের ( xunit.runner.visualstudio ) একক সংস্করণের বিপরীতে লিঙ্কযুক্ত।

নিম্নলিখিত পদক্ষেপগুলি আমার পক্ষে কাজ করেছে:

  1. (কেবলমাত্র যদি আপনার সন্দেহ হয় যে আপনার মেশিনে কোনও গুরুতর গোলমাল রয়েছে - সাধারণভাবে সাধারণ ক্ষেত্রে ভিজ্যুয়াল স্টুডিও ইন্টিগ্রেশনটি কেবল ইনস্টল করা হয়নি)

    পরামর্শ মতো DEL %TEMP%\VisualStudioTestExplorerExtensions : -

    PS> del $env:TEMP\VisualStudioTestExplorerExtensions

  2. সমস্ত পরীক্ষা প্রকল্পে xunit.runner.visualstudio প্যাকেজ xunit.runner.visualstudio ইনস্টল করুন

    • Paket:

      .paket\paket add nuget xunit.runner.visualstudio -i

      আপনার paket.dependencies নিম্নলিখিতগুলি দিয়ে শেষ করতে হবে :

      nuget xunit.runner.visualstudio version_in_path: true

      version_in_path: true নোট করুন version_in_path: true বিটটি গুরুত্বপূর্ণ

    • নিউজ: প্যাকেজ ম্যানেজার কনসোল (Alt-T, N, O) এবং এ যান

      Install-Package xunit.runner.visualstudio)

    xunit.runner আউটপুট xunit.runner শেষ হবে তা নিশ্চিত করতে পুনর্নির্মাণ করুন

  3. পরীক্ষা এক্সপ্লোরার বন্ধ করুন <- এটি আমার জন্য অনুপস্থিত বিট ছিল

  4. পুনরায় খুলুন পরীক্ষার এক্সপ্লোরার (Alt-S, W, T)

  5. সমস্ত পরীক্ষা চালান (সিটিআরএল আর, এ)


Xunit.runner.visualstudio nuget ইনস্টল করে আমার সমস্যাটি সমাধান করা হয়েছিল


আপনারা কেউ জাস্টমক ব্যবহার করেন কিনা তা আমি জানি না, তবে পরীক্ষার কাজ সনাক্ত করার জন্য আমাকে ভিএস 2017 এ প্রোফাইলারটি অক্ষম করতে হয়েছিল।


আমার কাছে সবচেয়ে সাধারণ অপরাধী হ'ল ভিজ্যুয়াল স্টুডিওটি যে লাইব্রেরিটি পরীক্ষা করে দেখছে তার চেয়ে আলাদা আর্কিটেকচার ব্যবহার করে পরীক্ষা চালানোর চেষ্টা করে। দুর্ভাগ্যক্রমে এমন একাধিক জায়গা রয়েছে যেখানে মনে হয় এটি ভুল হতে পারে।

ভিএস 2017 এ, রান সেটিংস ফাইল তৈরির চেষ্টা করুন, উদাহরণস্বরূপ আপনার পরীক্ষা প্রকল্পে Default.runsettings । যদি আপনার মূল লিবটি x64 হয় তবে লিখিত সামগ্রীটি হওয়া উচিত:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <TargetPlatform>x64</TargetPlatform>
  </RunConfiguration>
</RunSettings>

তারপরে টেস্ট -> টেস্ট সেটিংস -> টেস্ট সেটিংস ফাইলটি নির্বাচন করুন file

তারপরে, টেস্ট -> টেস্ট সেটিংস, ডিফল্ট প্রসেসর আর্কিটেকচারের অধীনে, আবার সঠিক আর্কিটেকচারটি চয়ন করুন।

সম্পূর্ণ সমাধানটি পরিষ্কার এবং তৈরির বিষয়ে নিশ্চিত হন। আপনাকে টেস্ট এক্সপ্লোরার উইন্ডোটি বন্ধ এবং পুনরায় খোলার প্রয়োজন হতে পারে। ভুল আর্কিটেকচার ধরণের সম্পর্কে আরও ক্লুটির জন্য আউটপুট -> টেস্ট উইন্ডোতে কোনও অতিরিক্ত ত্রুটি দেখুন।

এফওয়াইআই অতিরিক্ত পরীক্ষা সেটিংস এন্ট্রি here পাওয়া here


আমার ক্ষেত্রে একই সমাধানে আমার একাধিক পরীক্ষার প্রকল্প রয়েছে এবং কেবলমাত্র একটি প্রকল্প "টেস্ট এক্সপ্লোরার" প্রদর্শন করছে না

আমি সমাধানটিতে ডান ক্লিক করে "ম্যানেজমেন্ট নুগেট প্যাকেজ সলিউশন" এ গিয়েছি।

আমি লক্ষ্য করেছি "একীকরণ" ট্যাবের অধীনে কিছু "টেস্ট" নুগেট প্যাকেজ রয়েছে যা প্রকল্পগুলির মধ্যে সিঙ্কের বাইরে ছিল। আমি "ইনস্টল" এ ক্লিক করেছি এবং আমার অনুপস্থিত পরীক্ষাগুলি প্রদর্শিত হয়েছে।


আমার ক্ষেত্রে, আমি চিত্রটিতে প্রদর্শিত একটি নতুন "সমাধান কনফিগারেশন" তৈরি করেছি। সুতরাং যখন আমি আমার কাস্টমটিকে "প্রোড" হিসাবে নির্বাচন করি, এটি কোনও কারণে টেস্টমোহডগুলিকে স্বীকৃতি দেয় না। "ডিবাগ" এ ফিরে পরিবর্তন সমস্যার সমাধান করে


আমার ক্ষেত্রে, সমাধানে আমার 2 টি পৃথক পরীক্ষা প্রকল্প ছিল। প্রকল্প 1 টি পরীক্ষা পাওয়া যায়, তবে প্রকল্প 2 পরীক্ষা পাওয়া যায়নি। আমি দেখতে পেয়েছি যে পরীক্ষার প্রকল্প 1 টি প্রথম আনলোড করা হচ্ছে, তারপরে ভিএস বন্ধ করে> আমার টেম্প ফাইলগুলি সাফ করে> পুনরায় খোলার সমাধান> পুনর্নির্মাণ, ভিএসকে আমার প্রকল্প 2 পরীক্ষাগুলি আবিষ্কার করার অনুমতি দিয়েছে।

আমি ধরে নিচ্ছি যে দুটি পরীক্ষার প্রকল্পের মধ্যে অবশ্যই কিছু কিছু দ্বন্দ্বপূর্ণ হবে এবং এটি আমার কাছে আসার এবং দ্রুত কয়েক মিনিটের মধ্যে দৌড়ানোর দ্রুততম উপায়। কিঙ্কস পরে কাজ করা যেতে পারে :)।


আমি xUnit 2.2.0 ব্যবহার করছি।

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

xunit.runner.console ইনস্টল করার xunit.runner.console এবং কমান্ড লাইনের মাধ্যমে পরীক্ষা চালানোর চেষ্টা করার সময় আমি ত্রুটিটি সনাক্ত করতে সক্ষম হয়েছি।

instructions


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

আমি আমার স্থানীয় ফোল্ডারটি পুরোপুরি মুছতে এবং পুনরায় ক্লোনিং শেষ করেছি। এটা আমার জন্য এটি সমাধান।


আমি দীর্ঘদিন ধরে এই সমস্যায় ভুগছিলাম।

  • আমার প্রায় 100 টি প্রকল্প ছিল বিভিন্ন সংস্করণে বিভিন্ন সার্ভারে স্থাপন করা হয়েছিল।

  • ২.২.০ থেকে ২.৩.১-এ xunit আপডেট করা কোনও সমাধান নয় কারণ বিল্ডটি ২.৩.১ এ ব্যর্থ হয়েছিল।

তারপরে আমি সবেমাত্র xunit.runner.visualstudio ২.৩.১ এ আপডেট করেছি এবং সবকিছু ঠিকঠাক কাজ শুরু করে। আমি আমার xunit.runner.visualstudio প্যাকেজ আপডেট করতে আমার প্যাকেজ ম্যানেজার কনসোলে এই কমান্ডটি ব্যবহার করেছি

Get-Project ComapanyName.ProjectName.*.Tests | Install-Package xunit.runner.visualstudio -Version 2.3.1

আমি যখন ভিএস 2017 তে ইন্টেলিস্টেস্টের সাথে প্রথম প্রথম হাঁটার প্রচেষ্টা নিয়েছিলাম তখন আমার সাথে ভাগ্যবান হয়।

কখনও কখনও, যখন পরীক্ষার প্রকল্পটি ইন্টেলিস্টেস্ট দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়, Microsoft.ExtendedReflection কাছে সমাবেশ উল্লেখ reference এক্সটেন্ডেড রেফিকেশন ( ... \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও \ 2017 \ এন্টারপ্রাইজ \ কমন 7 7 আইডিই \ এক্সটেনশানস \ মাইক্রোসফ্ট \ পেক্স \ মাইক্রোসফ্ট .ExtendedReflection.dll ) অনুপস্থিত। যোগ করা হলে, উত্পন্ন টেস্টগুলি পুনরায় কম্পাইল করার পরে পরীক্ষার এক্সপ্লোরারে প্রদর্শিত হবে।


উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি (ডটনেটকোর 1.1, ভিএস2017)। এটি এখানে স্থির করে দিয়েছে:

  1. নিউগেট প্যাকেজ যুক্ত করুন Microsoft.TestPlatform.TestHost
  2. নুগেট প্যাকেজ যুক্ত করুন Microsoft.NET.Test.Sdk est

আমি পূর্বে ইনস্টল করা এই প্যাকেজগুলি ছাড়াও :

  • xunit (2.3.0-beta1-build3642)
  • xunit.runner.visualstudio (2.3.0-beta1-build1309)

এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার MsTest.TestAdapter এবং MsTest.TestFramework dll's MsTest.TestFramework nugget package manager থেকে আপডেট করুন Update
  2. আপনার সমাধান পরিষ্কার করুন
  3. আপনার সমাধান তৈরি করুন।

দাবি অস্বীকার: এটি ভিজ্যুয়াল স্টুডিও 2015 এর সাথে জুনিট সম্পর্কিত নয়, তবে ইউডাব্লুপি ইউনিট পরীক্ষা অ্যাপ্লিকেশন (এমএসটিস্ট) সহ ভিজ্যুয়াল স্টুডিও 2017। আমি একই জিনিসটি অনুসন্ধান করতে এই থ্রেডে পৌঁছেছি তাই সম্ভবত অন্য কেউও এটি করবে :)

আমার কাছে সমাধানটি ছিল MSTest.TestAdapter এবং MSTest.TestFramework এর জন্য প্যাকেজ আপডেট করা। দেখে মনে হচ্ছে আপনি যখন ইউডাব্লুপি-র জন্য একটি ইউনিট পরীক্ষা অ্যাপ্লিকেশন তৈরি করেন আপনি স্বয়ংক্রিয়ভাবে সর্বশেষতম সংস্করণগুলি পাবেন না।


নিশ্চিত করুন যে আপনি .NET স্ট্যান্ডার্ড 2.0 ক্লাস লাইব্রেরিতে আপনার ইউনিট পরীক্ষা লিখেছেন নি। ভিজুয়ালস্টুডিও রানার এই লেখার সময় নেটস্ট্যান্ডার্ড ২.০ শ্রেণীর পাঠাগারগুলিতে চলমান পরীক্ষাগুলি সমর্থন করে না।

টেস্ট রানার সামঞ্জস্যের ম্যাট্রিক্সের জন্য এখানে পরীক্ষা করুন :

https://xunit.github.io/#runners


পরীক্ষা প্রকল্পের মধ্যে একটি সম্পূর্ণ খালি অ্যাপ.config ফাইল (একেবারে কোনও মার্কআপের সাথে সম্পূর্ণ ফাঁকা) আছে কিনা তাও পরীক্ষা করে দেখুন। এটাই ছিল আমার মামলার অপরাধী।


পরীক্ষার প্রকল্প সিপিইউকে x64 এ পরিবর্তন করার পরে আমাকে টেস্ট সেটিংস পরিবর্তন করতে হয়েছিল। তারপরে পরীক্ষা করে আবার কোথায় ধরা পড়ে detected


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

[TestMethod]

Before: public static void Test1()

After: public void Test1()

ভিজ্যুয়াল স্টুডিও 2019 এর সাথে আমারও একই সমস্যা ছিল Just কেবলমাত্র নিম্নলিখিত নিউগেট প্যাকেজ ইনস্টল করা হয়েছে এবং সমস্যাটি সমাধান করা হয়েছে was

1)। xUnit

2)। xunit.runner.visualstudio

3)। Microsoft.TestPlatform.TestHost

4)। Microsoft.NET.Test.Sdk





xunit2