VSTest@2 - مهمة V2 لاختبار Visual Studio

استخدم هذه المهمة لتشغيل اختبارات الوحدة والاختبارات الوظيفية (Selenium وAppium واختبار واجهة المستخدم المشفرة وما إلى ذلك) باستخدام مشغل Visual Studio Test (VSTest). يمكنك تشغيل أطر عمل الاختبار التي تحتوي على محول اختبار Visual Studio. أمثلة أطر العمل هي MSTest وxUnit وNUnit وChutzpah (لاختبارات JavaScript باستخدام QUnit وMocha وJasmine)، وما إلى ذلك. يمكن توزيع الاختبارات على عوامل متعددة باستخدام هذه المهمة.

إشعار

هناك إصدار أحدث من هذه المهمة. VSTest@3 هو أحدث إصدار من المهمة ويجب استخدامه في مسارات الأنابيب الخاصة بك. مهمة v2 ستكون مهجورة.

إشعار

لا يمكن إعادة تشغيل المهمة VSTest@2 الاختبارات المستندة إلى البيانات الفاشلة.

إشعار

مهمة VSTest Azure خاصة بالنظام الأساسي VSTest. لا يدعم Microsoft.Testing.Platform (MTP) الأحدث.

بناء الجملة

# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
  inputs:
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.
# Visual Studio Test v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: VSTest@2
  inputs:
  # Test selection
    testSelector: 'testAssemblies' # 'testAssemblies' | 'testPlan' | 'testRun'. Required. Select tests using. Default: testAssemblies.
    testAssemblyVer2: # string. Required when testSelector = testAssemblies. Test files. 
    #testPlan: # string. Required when testSelector = testPlan. Test plan. 
    #testSuite: # string. Required when testSelector = testPlan. Test suite. 
    #testConfiguration: # string. Required when testSelector = testPlan. Test configuration. 
    #tcmTestRun: '$(test.RunId)' # string. Optional. Use when testSelector = testRun. Test Run. Default: $(test.RunId).
    searchFolder: '$(System.DefaultWorkingDirectory)' # string. Required. Search folder. Default: $(System.DefaultWorkingDirectory).
    #resultsFolder: '$(Agent.TempDirectory)\TestResults' # string. Test results folder. Default: $(Agent.TempDirectory)\TestResults.
    #testFiltercriteria: # string. Optional. Use when testSelector = testAssemblies. Test filter criteria. 
    #runOnlyImpactedTests: False # boolean. Optional. Use when testSelector = testAssemblies. Run only impacted tests. Default: False.
    #runAllTestsAfterXBuilds: '50' # string. Optional. Use when testSelector = testAssemblies && runOnlyImpactedTests = true. Number of builds after which all tests should be run. Default: 50.
    #uiTests: false # boolean. Test mix contains UI tests. Default: false.
  # Execution options
    #vstestLocationMethod: 'version' # 'version' | 'location'. Select test platform using. Default: version.
    #vsTestVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | 'toolsInstaller'. Optional. Use when vstestLocationMethod = version. Test platform version. Default: latest.
    #vstestLocation: # string. Optional. Use when vstestLocationMethod = location. Path to vstest.console.exe. 
    #runSettingsFile: # string. Settings file. 
    #overrideTestrunParameters: # string. Override test run parameters. 
    #pathtoCustomTestAdapters: # string. Path to custom test adapters. 
    #runInParallel: False # boolean. Run tests in parallel on multi-core machines. Default: False.
    #runTestsInIsolation: False # boolean. Run tests in isolation. Default: False.
    #codeCoverageEnabled: False # boolean. Code coverage enabled. Default: False.
    #otherConsoleOptions: # string. Other console options. 
    #diagnosticsEnabled: false # boolean. Collect advanced diagnostics in case of catastrophic failures. Default: false.
    #collectDumpOn: 'onAbortOnly' # 'onAbortOnly' | 'always' | 'never'. Optional. Use when diagnosticsEnabled = true. Collect process dump and attach to test run report. Default: onAbortOnly.
    #rerunFailedTests: False # boolean. Rerun failed tests. Default: False.
    #rerunType: 'basedOnTestFailurePercentage' # 'basedOnTestFailurePercentage' | 'basedOnTestFailureCount'. Optional. Use when rerunFailedTests = true. Do not rerun if test failures exceed specified threshold. Default: basedOnTestFailurePercentage.
    #rerunFailedThreshold: '30' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. % failure. Default: 30.
    #rerunFailedTestCasesMaxLimit: '5' # string. Optional. Use when rerunFailedTests = true && rerunType = basedOnTestFailureCount. # of failed tests. Default: 5.
    #rerunMaxAttempts: '3' # string. Optional. Use when rerunFailedTests = true. Maximum # of attempts. Default: 3.
  # Advanced execution options
    #distributionBatchType: 'basedOnTestCases' # 'basedOnTestCases' | 'basedOnExecutionTime' | 'basedOnAssembly'. Batch tests. Default: basedOnTestCases.
    #batchingBasedOnAgentsOption: 'autoBatchSize' # 'autoBatchSize' | 'customBatchSize'. Optional. Use when distributionBatchType = basedOnTestCases. Batch options. Default: autoBatchSize.
    #customBatchSizeValue: '10' # string. Required when distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. Number of tests per batch. Default: 10.
    #batchingBasedOnExecutionTimeOption: 'autoBatchSize' # 'autoBatchSize' | 'customTimeBatchSize'. Optional. Use when distributionBatchType = basedOnExecutionTime. Batch options. Default: autoBatchSize.
    #customRunTimePerBatchValue: '60' # string. Required when distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. Running time (sec) per batch. Default: 60.
    #dontDistribute: False # boolean. Replicate tests instead of distributing when multiple agents are used in the job. Default: False.
  # Reporting options
    #testRunTitle: # string. Test run title. 
    #platform: # string. Build platform. 
    #configuration: # string. Build configuration. 
    #publishRunAttachments: true # boolean. Upload test attachments. Default: true.
    #failOnMinTestsNotRun: False # boolean. Fail the task if a minimum number of tests are not run. Default: False.
    #minimumExpectedTests: '1' # string. Optional. Use when failOnMinTestsNotRun = true. Minimum # of tests. Default: 1.

المدخلات

testSelector - تحديد الاختبارات باستخدام
Person. مطلوب. القيم المسموح بها: testAssemblies (تجميعات الاختبار)، testPlan (خطة الاختبار)، testRun (تشغيل الاختبار). القيمة الافتراضية: testAssemblies.

  • اختبار التجميع: يحدد تجميع اختبار واحد أو أكثر يحتوي على اختباراتك. يمكنك اختياريا تحديد معايير تصفية لتحديد اختبارات محددة فقط.
  • Test plan: تشغيل الاختبارات من خطة الاختبار الخاصة بك التي لها أسلوب اختبار تلقائي مقترن بها. لمعرفة المزيد حول كيفية إقران الاختبارات بعنصر عمل حالة الاختبار، راجع إقران الاختبارات التلقائية بحالات الاختبار.
  • تشغيل الاختبار: استخدم هذا الخيار عند إعداد بيئة لتشغيل الاختبارات من خطط الاختبار . يجب عدم استخدام هذا الخيار عند تشغيل الاختبارات في البنية الأساسية لبرنامج ربط العمليات التجارية للتكامل المستمر/التوزيع المستمر (CI/CD).

ملفات اختبار testAssemblyVer2 -
Person. مطلوب عند testSelector = testAssemblies. القيمة الافتراضية: **\bin\**\*test.dll\n**\bin\**\*tests.dll.

تشغيل الاختبارات من الملفات المحددة. يمكن تشغيل الاختبارات مرتبة وwebtests عن طريق تحديد .orderedtest وملفات .webtest على التوالي. لتشغيل .webtest، يلزم تحديث Visual Studio 2017 4 أو أعلى. مسارات الملفات نسبة إلى مجلد البحث. يدعم هذا الإدخال أسطرا متعددة من أنماط المتطابقات المصغرة .

# Example
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

ملفات اختبار testAssemblyVer2 -
Person. مطلوب عند testSelector = testAssemblies. القيمة الافتراضية: **\*test*.dll\n!**\*TestAdapter.dll\n!**\obj\**.

تشغيل الاختبارات من الملفات المحددة. يمكن تشغيل الاختبارات مرتبة وwebtests عن طريق تحديد .orderedtest وملفات .webtest على التوالي. لتشغيل .webtest، يلزم تحديث Visual Studio 2017 4 أو أعلى. مسارات الملفات نسبة إلى مجلد البحث. يدعم هذا الإدخال أسطرا متعددة من أنماط المتطابقات المصغرة .

# Example
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**

خطة اختبار testPlan -
Person. مطلوب عند testSelector = testPlan.

تحديد خطة اختبار تحتوي على مجموعات اختبار مع حالات اختبار تلقائية.


مجموعة testSuite - Test
Person. مطلوب عند testSelector = testPlan.

تحديد مجموعة اختبار واحدة أو أكثر تحتوي على حالات اختبار تلقائية. يجب أن تكون عناصر عمل حالة الاختبار مقترنة بطريقة اختبار تلقائية .


تكوين اختبار testConfiguration -
Person. مطلوب عند testSelector = testPlan.

تحديد تكوين الاختبار.


تشغيل الاختبار tcmTestRun -
Person. اختياري. استخدم عند testSelector = testRun. القيمة الافتراضية: $(test.RunId).

يحدد التحديد المستند إلى تشغيل الاختبار المستخدم عند تشغيل تشغيل الاختبار التلقائي من خطط الاختبار . لا يمكن استخدام هذا الخيار لتشغيل الاختبارات في البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD.


مجلد searchFolder - Search
Person. مطلوب. القيمة الافتراضية: $(System.DefaultWorkingDirectory).

تحديد المجلد للبحث عن تجميعات الاختبار.


مجلد نتائج اختبار resultsFolder -
Person. القيمة الافتراضية: $(Agent.TempDirectory)\TestResults.

تحديد المجلد لتخزين نتائج الاختبار. عند استخدام الدليل الافتراضي، يتم تنظيفه في نهاية تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية. سيتم دائما تنظيف دليل النتائج في بداية المهمة vstest قبل تشغيل الاختبارات. سيتم اعتبار مسار المجلد النسبي، إذا تم توفيره، نسبة إلى $(Agent.TempDirectory).


معايير عامل تصفية اختبار testFiltercriteria -
Person. اختياري. استخدم عند testSelector = testAssemblies.

تحديد معايير إضافية لتصفية الاختبارات من تجميعات الاختبار. على سبيل المثال: Priority=1|Name=MyTestMethod. تعرف على خيارات سطر الأوامر .


runOnlyImpactedTests - تشغيل الاختبارات المتأثرة فقط
Person. اختياري. استخدم عند testSelector = testAssemblies. القيمة الافتراضية: False.

يحدد ويشغل الاختبارات اللازمة للتحقق من صحة تغيير التعليمات البرمجية تلقائيا. تعرف على استخدام تحليل تأثير اختبار.


runAllTestsAfterXBuilds - عدد الإصدارات التي يجب بعدها تشغيل جميع الاختبارات
Person. اختياري. استخدم عند testSelector = testAssemblies && runOnlyImpactedTests = true. القيمة الافتراضية: 50.

تحديد عدد البنيات التي سيتم تنفيذها قبل تشغيل جميع الاختبارات تلقائيا. يخزن Test Impact Analysis التعيين بين حالات الاختبار ورمز المصدر. يوصى بإعادة إنشاء التعيين عن طريق تشغيل جميع الاختبارات على أساس منتظم.


يحتوي uiTests - Test mix على اختبارات واجهة المستخدم
Person. القيمة الافتراضية: false.

لتشغيل اختبارات واجهة المستخدم، تأكد من تعيين العامل للتشغيل في الوضع التفاعلي مع تمكين Autologon. يجب إعداد عامل للتشغيل بشكل تفاعلي قبل وضع الإصدار/الإصدار في قائمة الانتظار. لا يؤدي تحديد هذا المربع إلى تكوين العامل في الوضع التفاعلي تلقائيا. يعمل هذا الخيار كتذكير لتكوين العامل بشكل مناسب لتجنب حالات الفشل. يمكن استخدام عوامل Windows المستضافة من تجمعات VS 2015 و2017 لتشغيل اختبارات واجهة المستخدم.


vstestLocationMethod - تحديد النظام الأساسي للاختبار باستخدام
Person. القيم المسموح بها: version، location (موقع محدد). القيمة الافتراضية: version.

يحدد النظام الأساسي للاختبار الذي يجب استخدامه.


إصدار النظام الأساسي لاختبار vsTestVersion -
Person. اختياري. استخدم عند vstestLocationMethod = version. القيم المسموح بها: latest، 17.0 (Visual Studio 2022)، 16.0 (Visual Studio 2019)، 15.0 (Visual Studio 2017)، 14.0 (Visual Studio 2015)، toolsInstaller (مثبت بواسطة أدوات المثبت). القيمة الافتراضية: latest.

تحديد إصدار Visual Studio Test لاستخدامه. إذا تم تحديد أحدث، يختار هذا الإدخال أحدث إصدار (من قائمة القيم المسموح بها) المثبت. لتشغيل الاختبارات دون الحاجة إلى Visual Studio على العامل، استخدم خيار المثبت بواسطة أدوات المثبت. تأكد من تضمين Visual Studio Test Platform Installer المهمة للحصول على النظام الأساسي للاختبار من NuGet.


إصدار النظام الأساسي لاختبار vsTestVersion -
Person. اختياري. استخدم عند vstestLocationMethod = version. القيم المسموح بها: latest، 16.0 (Visual Studio 2019)، 15.0 (Visual Studio 2017)، 14.0 (Visual Studio 2015)، toolsInstaller (مثبت بواسطة أدوات المثبت). القيمة الافتراضية: latest.

تحديد إصدار Visual Studio Test لاستخدامه. إذا تم تحديد أحدث، يختار هذا الإدخال أحدث إصدار (من قائمة القيم المسموح بها) المثبت. لتشغيل الاختبارات دون الحاجة إلى Visual Studio على العامل، استخدم خيار المثبت بواسطة أدوات المثبت. تأكد من تضمين Visual Studio Test Platform Installer المهمة للحصول على النظام الأساسي للاختبار من NuGet.


vstestLocation - المسار إلى vstest.console.exe
Person. اختياري. استخدم عند vstestLocationMethod = location.

تحديد المسار إلى VSTest.


ملف إعدادات runSettingsFile -
Person.

تحديد المسار إلى ملف runsettings أو testsettings لاستخدامه مع الاختبارات. بالنسبة إلى Visual Studio 15.7 والإصدارات الأحدث، استخدم runsettings لجميع أنواع الاختبارات. تعرف على المزيد حول تحويل ملف .testsettings إلى ملف .runsettings.


overrideTestrunParameters - تجاوز معلمات تشغيل الاختبار
Person.

يتجاوز المعلمات المحددة في المقطع TestRunParameters لملف runsettings أو المقطع Properties لملف testsettings. على سبيل المثال: -key1 value1 -key2 value2. ملاحظة : يمكن الوصول إلى خصائص المحددة في ملف testsettings عبر TestContext باستخدام Visual Studio 2017 (التحديث 4 أو أعلى).


مسار pathtoCustomTestAdapters - إلى محولات الاختبار المخصصة
Person.

تحديد مسار الدليل إلى محولات اختبار مخصصة. يتم اكتشاف المحولات الموجودة في نفس المجلد مثل تجميعات الاختبار تلقائيا.


runInParallel - إجراء الاختبارات بالتوازي على الأجهزة متعددة النواة
Person. القيمة الافتراضية: False.

إذا تم تعيينها إلى true، يتم تشغيل الاختبارات بالتوازي والاستفادة من الذاكرات الأساسية المتوفرة للجهاز. سيؤدي ذلك إلى تجاوز MaxCpuCount إذا تم تحديده في ملف runsettings. تعرف على المزيد حول كيفية تشغيل اختبارات بالتوازي.


runTestsInIsolation - تشغيل الاختبارات بمعزل عن
Person. القيمة الافتراضية: False.

تشغيل الاختبارات في عملية معزولة. من المحتمل أن يؤدي هذا إلى أخطاء أقل في عملية اختبار vstest.console.exe، ولكن قد تعمل الاختبارات بشكل أبطأ. لا يمكن استخدام هذا الخيار حاليا عند التشغيل مع إعداد الوظيفة متعددة العوامل.


تمكين تغطية التعليمات البرمجية codeCoverageEnabled -
Person. القيمة الافتراضية: False.

يجمع معلومات تغطية التعليمات البرمجية من تشغيل الاختبار.


otherConsoleOptions - خيارات وحدة التحكم الأخرى
Person.

خيارات وحدة التحكم الأخرى التي يمكن تمريرها إلى vstest.console.exe.

هذه الخيارات غير مدعومة وسيتم تجاهلها عند تشغيل الاختبارات باستخدام إعداد المتوازي متعدد العوامل لمهمة عامل، أو عند تشغيل الاختبارات باستخدام خطة اختبار أو خيار تشغيل اختبار، أو عند تحديد خيار تجميع مخصص. يمكن تحديد الخيارات باستخدام ملف إعدادات بدلا من ذلك.


اختبارات distributionBatchType - Batch
Person. القيم المسموح بها: basedOnTestCases (استنادا إلى عدد الاختبارات والوكلاء)، basedOnExecutionTime (استنادا إلى وقت التشغيل السابق للاختبارات)، basedOnAssembly (استنادا إلى تجميعات الاختبار). القيمة الافتراضية: basedOnTestCases.

الدفعة هي مجموعة من الاختبارات. تقوم دفعة من الاختبارات بإجراء اختباراتها في نفس الوقت، ويتم نشر النتائج للدفعة. إذا تم تعيين المهمة التي يتم تشغيل المهمة فيها لاستخدام عوامل متعددة، يلتقط كل عامل أي دفعات متاحة من الاختبارات لتشغيلها بالتوازي. يمكن تشغيل دفعة:

بناء على عدد الاختبارات والوكلاء. الإرسال في دفعات بسيطة استنادا إلى عدد الاختبارات والوكلاء المشاركين في تشغيل الاختبار.

استنادا إلى وقت تشغيل الاختبارات الماضي. تأخذ هذه الدفعة في الاعتبار وقت التشغيل السابق لإنشاء دفعات من الاختبارات حيث يكون لكل دفعة وقت تشغيل متساوي تقريبا.

استنادا إلى تجميعات الاختبار. يتم تجميع الاختبارات من التجميع معا.


خيارات batchingBasedOnAgentsOption - Batch
Person. اختياري. استخدم عند distributionBatchType = basedOnTestCases. القيم المسموح بها: autoBatchSize (تحديد حجم الدفعة تلقائيا)، customBatchSize (تحديد حجم دفعة). القيمة الافتراضية: autoBatchSize.

يحدد الإرسال في دفعات بسيطة استنادا إلى عدد الاختبارات والوكلاء المشاركين في تشغيل الاختبار. عند تحديد حجم الدفعة تلقائيا، تحتوي كل دفعة على اختبارات (total number of tests / number of agents). إذا تم تحديد حجم دفعة، فستحتوي كل دفعة على عدد محدد من الاختبارات.


customBatchSizeValue - عدد الاختبارات لكل دفعة
Person. مطلوب عند distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize. القيمة الافتراضية: 10.

تحديد حجم الدفعة.


خيارات batchingBasedOnExecutionTimeOption - Batch
Person. اختياري. استخدم عند distributionBatchType = basedOnExecutionTime. القيم المسموح بها: autoBatchSize (تحديد وقت الدفعة تلقائيا)، customTimeBatchSize (تحديد وقت التشغيل لكل دفعة). القيمة الافتراضية: autoBatchSize.

تأخذ هذه الدفعة في الاعتبار أوقات التشغيل السابقة لإنشاء دفعات من الاختبارات حيث يكون لكل دفعة وقت تشغيل متساوي تقريبا. سيتم تجميع اختبارات التشغيل السريع معا، بينما قد تنتمي الاختبارات التي يتم تشغيلها لفترة أطول إلى دفعة منفصلة. عند استخدام هذا الخيار مع إعداد الوظيفة متعددة العوامل، يتم تقليل إجمالي وقت الاختبار إلى الحد الأدنى.


customRunTimePerBatchValue - وقت التشغيل (ثانية) لكل دفعة
Person. مطلوب عند distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize. القيمة الافتراضية: 60.

تحديد وقت التشغيل (بالثوان) لكل دفعة.


dontDistribute - إجراء اختبارات النسخ المتماثل بدلا من التوزيع عند استخدام عوامل متعددة في المهمة
Person. القيمة الافتراضية: False.

لن يؤدي اختيار هذا الخيار إلى توزيع الاختبارات عبر الوكلاء عند تشغيل المهمة في مهمة متعددة العوامل. سيتم تكرار كل اختبار (اختبارات) محددة على كل عامل. لا ينطبق هذا الخيار عند تكوين مهمة العامل للتشغيل دون توازي أو مع خيار التكوين المتعدد.


عنوان تشغيل testRunTitle - Test
Person.

تحديد اسم لتشغيل الاختبار.


platform - إنشاء النظام الأساسي
Person.

يحدد النظام الأساسي للبناء الذي يجب الإبلاغ عن الاختبارات عليه. إذا قمت بتعريف متغير للنظام الأساسي في مهمة الإنشاء، فاستخدم ذلك مع هذا الإدخال.


تكوين configuration - Build
Person.

يحدد تكوين البنية الذي يجب الإبلاغ عن الاختبارات عليه. إذا قمت بتعريف متغير للتكوين في مهمة الإنشاء، فاستخدم ذلك مع هذا الإدخال.


publishRunAttachments - تحميل مرفقات الاختبار
Person. القيمة الافتراضية: true.

الاشتراك في نشر مرفقات مستوى التشغيل أو إيقاف تشغيلها.


failOnMinTestsNotRun - فشل المهمة إذا لم يتم تشغيل الحد الأدنى لعدد الاختبارات.
Person. القيمة الافتراضية: False.

فشل المهمة إذا لم يتم تشغيل الحد الأدنى لعدد الاختبارات. قد يكون هذا مفيدا إذا أدت أي تغييرات في مدخلات المهمة أو تبعيات محول الاختبار الأساسية إلى العثور على مجموعة فرعية فقط من الاختبارات المطلوبة.


minimumExpectedTests - الحد الأدنى لعدد الاختبارات
Person. اختياري. استخدم عند failOnMinTestsNotRun = true. القيمة الافتراضية: 1.

يحدد الحد الأدنى لعدد الاختبارات التي سيتم تشغيلها حتى تنجح المهمة. يتم حساب إجمالي الاختبارات المنفذة كمجموع الاختبارات التي تم اجتيازها وفشلها وإجهاضها.


diagnosticsEnabled - جمع التشخيصات المتقدمة في حالة الفشل الكارثي
Person. القيمة الافتراضية: false.

يجمع البيانات التشخيصية لاستكشاف الأخطاء الكارثية وإصلاحها، مثل تعطل الاختبار. عند تحديد هذا الخيار، يتم إنشاء ملف XML تسلسلي وإرفاقه بتشغيل الاختبار. يحتوي ملف التسلسل على معلومات حول التسلسل الذي تم تشغيل الاختبارات فيه، بحيث يمكن تحديد اختبار محتمل للمعاقبة.


collectDumpOn - تجميع تفريغ العملية وإرفاقها لاختبار تقرير التشغيل
Person. اختياري. استخدم عند diagnosticsEnabled = true. القيم المسموح بها: onAbortOnly (عند الإجهاض فقط)، always، never. القيمة الافتراضية: onAbortOnly.

يجمع تفريغ صغير يمكن استخدامه لمزيد من التحليل.

  • onAbortOnly - سيتم جمع تفريغ صغير فقط عند إجهاض تشغيل الاختبار.
  • دائما - سيتم دائما جمع تفريغ صغير بغض النظر عما إذا كان تشغيل الاختبار قد اكتمل أم لا.
  • أبدا - لن يتم جمع تفريغ صغير بغض النظر عما إذا كان تشغيل الاختبار قد اكتمل أم لا.

rerunFailedTests - إعادة تشغيل الاختبارات الفاشلة
Person. القيمة الافتراضية: False.

إعادة تشغيل أي اختبارات فاشلة حتى تنجح أو حتى يتم الوصول إلى الحد الأقصى لعدد المحاولات.


rerunType - عدم إعادة التشغيل إذا تجاوزت حالات فشل الاختبار الحد المحدد
Person. اختياري. استخدم عند rerunFailedTests = true. القيم المسموح بها: basedOnTestFailurePercentage (فشل%)، basedOnTestFailureCount (# من الاختبارات الفاشلة). القيمة الافتراضية: basedOnTestFailurePercentage.

تجنب إعادة تشغيل الاختبارات عندما يتجاوز معدل الفشل الحد المحدد. ينطبق هذا إذا أدت مشكلات البيئة إلى حالات فشل هائلة. يمكنك تحديد النسبة المئوية للفشل أو عدد الاختبارات الفاشلة كعتب.


فشل rerunFailedThreshold - %
Person. اختياري. استخدم عند rerunFailedTests = true && rerunType = basedOnTestFailurePercentage. القيمة الافتراضية: 30.

تجنب إعادة تشغيل الاختبارات عندما تتجاوز النسبة المئوية لحالات الاختبار الفاشلة الحد المحدد. ينطبق هذا إذا أدت مشكلات البيئة إلى حالات فشل هائلة.


rerunFailedTestCasesMaxLimit - # من الاختبارات الفاشلة
Person. اختياري. استخدم عند rerunFailedTests = true && rerunType = basedOnTestFailureCount. القيمة الافتراضية: 5.

تجنب إعادة تشغيل الاختبارات عندما يتجاوز عدد حالات الاختبار الفاشلة الحد المحدد. ينطبق هذا إذا أدت مشكلات البيئة إلى حالات فشل هائلة.


rerunMaxAttempts - الحد الأقصى لعدد المحاولات
Person. اختياري. استخدم عند rerunFailedTests = true. القيمة الافتراضية: 3.

تحديد الحد الأقصى لعدد المرات التي يجب إعادة محاولة اختبار فاشل فيها. إذا مر اختبار قبل الوصول إلى الحد الأقصى لعدد المحاولات، فلن يتم إعادة تشغيله مرة أخرى.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء.

ملاحظات

إشعار

هناك إصدار أحدث من هذه المهمة. VSTest@3 هو أحدث إصدار من المهمة ويجب استخدامه في مسارات الأنابيب الخاصة بك.

استخدم هذه المهمة لتشغيل اختبارات الوحدة والاختبارات الوظيفية (Selenium وAppium واختبار واجهة المستخدم المشفرة والمزيد) باستخدام مشغل Visual Studio Test. بالإضافة إلى الاختبارات المستندة إلى MSTest، يمكن أيضا تنفيذ أطر عمل الاختبار التي تحتوي على محول اختبار Visual Studio، مثل xUnit أو NUnit أو Chutzpah.

يختبر إمكانية تنفيذ إطار عمل .NET الأساسي الهدف عن طريق تحديد قيمة إطار العمل الهدف المناسبة في ملف .runsettings.

يمكن توزيع الاختبارات على عوامل متعددة باستخدام الإصدار 2 من هذه المهمة. لمزيد من المعلومات، راجع تشغيل الاختبارات بالتوازي باستخدام مهمة Visual Studio Test.

التحقق من المتطلبات الأساسية

إذا كنت تستخدم وكيلا مستضافا ذاتيا في Windows، فيجب تثبيت هذا الشرط الأساسي:

المطالب

يجب أن يكون لدى العامل القدرة التالية:

vstest

يمكن تلبية الطلب vstest بطريقتين:

  1. تم تثبيت Visual Studio على جهاز العامل.
  2. باستخدام مهمة Visual Studio Test Platform Installer في تعريف البنية الأساسية لبرنامج ربط العمليات التجارية.

كيف يمكنني تشغيل الاختبارات التي تستخدم TestCase كمصدر بيانات؟

لتشغيل الاختبارات التلقائية التي تستخدم TestCase كمصدر بيانات، يلزم ما يلي:

  1. يجب أن يكون لديك Visual Studio 2017.6 أو أعلى على جهاز العامل. لا يمكن استخدام مهمة Visual Studio Test Platform Installer لتشغيل الاختبارات التي تستخدم TestCase كمصدر بيانات.
  2. إنشاء PAT المخول للنطاق "عناصر العمل (كاملة)".
  3. أضف متغير بناء أو إصدار آمن يسمى Test.TestCaseAccessToken مع تعيين القيمة إلى PAT الذي تم إنشاؤه في الخطوة السابقة.

أصادف مشكلات عند تشغيل اختبارات xUnit وNUnit المستندة إلى البيانات مع بعض خيارات المهمة. هل هناك قيود معروفة؟

تحتوي الاختبارات المستندة إلى البيانات التي تستخدم أطر عمل اختبار xUnit وNUnit على بعض القيود المعروفة ولا يمكن استخدامها مع خيارات المهمة التالية:

  1. إعادة تشغيل الاختبارات الفاشلة.
  2. توزيع الاختبارات على عوامل متعددة وخيارات الإرسال في دفعات.
  3. اختبار تحليل التأثير.

القيود المذكورة أعلاه بسبب كيفية اكتشاف المحولات لأطر عمل الاختبار هذه والإبلاغ عن الاختبارات المستندة إلى البيانات.

هل تدعم مهمة VSTest تشغيل الاختبارات التي تستهدف أطر عمل مستهدفة متعددة في كل مرة؟

نعم، بدءا من الإصدار 17.3 VSTest يدعم تشغيل الاختبارات التي تستهدف أطر عمل مستهدفة متعددة في كل مرة. قبل ذلك، لم يكن هذا ممكنا بسبب قيود من جانب منصة VSTest.

إذا كنت ترغب في تشغيل الاختبارات التي تنتمي إلى أطر عمل مستهدفة متعددة، فستحتاج إلى تثبيت إصدار متوافق من VSTest عبر مثبت Visual Studio Test Platform وتعيين vsTestVersion إلى toolsInstaller لاستخدامه.

أثناء نشر نتيجة الاختبار، الحصول على هذا الخطأ: فشل نشر نتائج الاختبار: تم تحديد أولوية غير صحيحة؟

يحدث هذا الخطأ إذا تم تعيين أولوية لأي من أساليب الاختبار فوق 255، قم بإصلاح أولوية أسلوب الاختبار في التعليمات البرمجية وتنفيذ الاختبارات مرة أخرى. يمكنك مراجعة ملف trx الذي تم إنشاؤه لمشاهدة جميع الاختبارات ذات الأولوية الأكبر من 255.

المتطلبات

احتياج الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على العامل، DeploymentGroup
متطلبات يجب أن يكون لدى الوكلاء المستضافين ذاتيا قدرات تتطابق مع متطلبات التالية لتشغيل المهام التي تستخدم هذه المهمة: vstest
قدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأمر أي
متغيرات Settable أي
إصدار العامل 2.103.0 أو أحدث
فئة المهمة اختبر