मैंने यह पता लगाने की पूरी कोशिश की है।

मेरे पास कई ताज़ा .net core 3.1 या .net मानक 2 प्रोजेक्ट हैं जो Azure DevOps Services पर बन रहे हैं। मैं इन परियोजनाओं के लिए कोड कवरेज स्थापित करने की कोशिश कर रहा हूं और मुझे कहीं नहीं मिल रहा है।

स्थानीय स्तर पर परीक्षण चलाते समय मुझे सफलता मिलती है और कोड कवरेज परिणाम बनता है।

3/24/20 3:39 [jgust] [portChangesFromAggregateRepo ≡]
>: dotnet test .\Common.UnitTests\ --collect:"Code coverage"
Test run for C:\src\bio\lib\Common\src\Common.UnitTests\bin\Debug\netcoreapp2.2\Common.UnitTests.dll(.NETCoreApp,Version=v2.2)
Microsoft (R) Test Execution Command Line Tool Version 16.3.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

A total of 1 test files matched the specified pattern.

Attachments:
  C:\src\bio\lib\Common\src\Common.UnitTests\TestResults\74f826e4-4a46-46dd-9fe5-7fd17b8cee1c\2020-03-24.15_40_28.coverage
Test Run Successful.
Total tests: 794
     Passed: 794
 Total time: 19.3390 Seconds

हालाँकि, Azure DevOps पर इस प्रोजेक्ट को चलाते समय, बिल्ड रिपोर्ट करता है कि कलेक्टर नहीं मिल सकता है।

A total of 1 test files matched the specified pattern.
Data collection : Could not find data collector 'Code coverage'
Results File: d:\a\_temp\VssAdministrator_fv-az130_2020-03-24_20_53_07.trx

Test Run Successful.
Total tests: 794
     Passed: 794

इसके लिए पाइपलाइन कार्य इस प्रकार है:

enter image description here

और हाँ मैं यहाँ विंडोज़ प्लेटफॉर्म का उपयोग कर रहा हूँ

enter image description here

इन परियोजनाओं के लिए कोड कवरेज संग्रह स्थापित करने के बारे में मुझे क्या याद आ रही है।

जहाँ तक मैं बता सकता हूँ, मैं सब कुछ कर रहा हूँ स्ट्रेट आउट ऑफ द बुक

साथ ही, मैं पैकेज के वर्णित संस्करण का उपयोग कर रहा हूं:

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />

1
Josh Gust 25 मार्च 2020, 00:51

1 उत्तर

सबसे बढ़िया उत्तर

आपको Path to project(s) में अपने परीक्षण प्रोजेक्ट की csproj फ़ाइल का पथ निर्दिष्ट करना चाहिए, और सुनिश्चित करें कि परीक्षण प्रोजेक्ट संदर्भ Microsoft.NET.Test.SDK संस्करण 15.8.0 या उच्चतर

.dll फाइलों के लिए पथ निर्दिष्ट करते समय परीक्षण चलाने के लिए कार्य के तहत dotnet test कमांड को सक्षम करेगा, यह कवरेज डेटा के संग्रह की अनुमति नहीं देगा। उस कार्रवाई के लिए .csproj फ़ाइलों के पथ की आवश्यकता है।

प्रयोग करने का प्रयास करें $(System.DefaultWorkingDirectory)\**\*${{ parameters.slnName }}*[T|t]est*.csproj

नोट: इस विनिर्देशन से निषेध अप्रचलित हो जाना चाहिए।

0
Josh Gust 25 मार्च 2020, 19:51