Search code examples
azureunit-testingazure-devopsconsoleazure-pipelines

Waiting for console output in azure pipeline


I am trying to run some unit tests in my azure pipeline but it keeps saying 'Waiting for console output'. This goes on for about an hour until it eventually fails. I do not understand why it can't access the output from console. New to working with Azure/pipelines in general and any help would be appreciated. Thank you.

Error message

Here is my yaml file:

pr:
 - $(branch)

pool:
 vmImage: 'ubuntu-latest'

steps:
 - task: NodeTool@0
   inputs:
     versionSpec: '10.14'
   displayName: 'Install Node.js'

 - script: |
     npm install -g @angular/cli
     npm install
   displayName: 'Install Angular Dependencies'

 - task: Npm@1
   displayName: 'Lint Angular'
   inputs:
     command: custom
     customCommand: run lint --  --format=stylish

 - script: |
     npm run test
   displayName: 'Run Unit Tests'

 - task: PublishTestResults@2
   displayName: 'Publish unit tests results'
   condition: succeededOrFailed()
   inputs:
     searchFolder: $(System.DefaultWorkingDirectory)/src/tests/junit
     testRunTitle: Angular
     testRunner: JUnit
     testResultsFiles: "**/TESTS-*.xml"

 - task: PublishCodeCoverageResults@1
   displayName: 'Publish unit test code coverage results'
   condition: succeededOrFailed()
   inputs:
     codeCoverageTool: Cobertura
     summaryFileLocation: $(System.DefaultWorkingDirectory)/src/tests/coverage/cobertura-coverage.xml
     reportDirectory: $(System.DefaultWorkingDirectory)/src/tests/coverage
     failIfCoverageEmpty: true

 - script: |
     $(npm-script)
   displayName: 'Build App'

 - script: |
     cd $(System.DefaultWorkingDirectory)/
     ls -a
     cp -r dist $(Build.ArtifactStagingDirectory)/
     cp ecosystem.config.js $(Build.ArtifactStagingDirectory)/
     cd $(Build.ArtifactStagingDirectory)/
     ls -a
   #      rm -r node_modules
   #      ls -a
   displayName: 'Copy Files to Archive'

 - task: ArchiveFiles@2
   inputs:
     rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/'
     includeRootFolder: false
     archiveType: 'zip'
     archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip' # '$(System.DefaultWorkingDirectory)/$(Build.BuildId).zip'
     replaceExistingArchive: true

 - script: |
     cd $(System.DefaultWorkingDirectory)/
     ls -a
     cd $(Build.ArtifactStagingDirectory)/
     ls -a
   displayName: 'Check Files 2'

 - task: CopyFiles@2
   displayName: 'Copy File to: $(TargetFolder)'
   inputs:
     SourceFolder: '$(Build.ArtifactStagingDirectory)/'
     Contents: '$(Build.ArtifactStagingDirectory)/**/*.zip'
     TargetFolder: '$(Build.ArtifactStagingDirectory)/ArtifactsToBePublished'

 - task: PublishBuildArtifacts@1
   displayName: 'Publish Artifact: App'
   inputs:
     PathtoPublish: '$(Build.ArtifactStagingDirectory)/ArtifactsToBePublished'

 #  - script: |
 #      npm run pre-e2e
 #      npm run e2e
 #    displayName: 'Run E2E Tests'

 - script: |
     pwd
     cd $(Build.ArtifactStagingDirectory)/ArtifactsToBePublished
     ls -a
   displayName: 'See Content'

Solution

  • I can reproduce the same issue with npm run test script. You can have a try running unit tests with Npm task instead of using script task.

    - task: Npm@1
      displayName: 'Unit Test'
      inputs:
        command: custom
        customCommand: run test -- --watch=false --code-coverage
    

    Or

    - task: Npm@1
      displayName: 'Test e2e Angular'
      inputs:
        command: custom
        customCommand: run e2e