首页 > 解决方案 > Azure DevOps VSTest@2 找不到正确的测试 .dll 来执行测试

问题描述

我有以下 .yml 配置来运行我的自动化测试。

pool:
  name: Hosted VS2017
  demands:
  - msbuild
  - visualstudio
  - vstest

steps:
- script: set
  displayName: print all variables
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.4.1'
  inputs:
    versionSpec: 4.4.1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '**\*.sln'

- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '**\*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

- task: PowerShell@2
  displayName: 'Set Sauce Environment Variables'
  inputs:
    targetType: filePath
    filePath: ./setEnvironmentVariables.ps1
    arguments: '$env:sauce_userName sauce_accessKey $env:SAUCE_RDC_VODQANATIVEAPPAPIKEY $env:SAUCE_RDC_SauceDemoIosRdcApiKey'

- task: VSTest@2
  displayName: 'Run Best Practices Framework'
  inputs:
    #testSelector: 'testAssemblies'
    #testAssemblyVer2: '**/*Selenium3.Nunit.Framework*'
    testFiltercriteria: 'TestCategory=BestPractices'
    runInParallel: true
    codeCoverageEnabled: true
    testRunTitle: 'NUnit Automation Framework'
    rerunFailedTests: true
    rerunFailedThreshold: 10
    rerunMaxAttempts: 2
    failOnMinTestsNotRun: true

我注意到在日志中,正在检查测试的唯一可执行文件位于此文件夹D:\a\1\s\SauceExamples\packages\中,这是不正确的。

结果,我不断收到以下消息NUnit couldn't find any tests in D:\a\1\s\SauceExamples\packages\

如何VSTest@2在正确的 .dll 中进行自动测试的实际外观?

在本地,该 .dll 的路径如下所示: C:\Source\SauceLabs\demo-csharp\SauceExamples\Web.Tests\bin\Debug\Selenium3.Nunit.Framework.dll

标签: azure-devopsazure-pipelines

解决方案


测试文件格式应该是这样testAssemblyVer2: '**\*test*.dll'的,所以你可以试试下面的格式:

testAssemblyVer2: '**\Selenium3.Nunit.Framework.dll'


推荐阅读