-
Notifications
You must be signed in to change notification settings - Fork 521
Description
Issue Description
When using Pester 5.0.3 to execute a test task, the failed tests are not shown in Problems-view like they used to do with Pester 3.4. This seems to be caused by the new output-format in Pester 5 which doesn't fit with the $pester-problemMatcher regex.
Replacing the current matcher ^\s*(?:\[-\]\s+)(.*?)(?:\s+\d+\.?\d*\s*m?s)\s*$ with ^\s*(?:\[-\]\s+)(.*?)(?:\s+\d+\.?\d*\s*m?s)(?:\s+\(.*?\))?\s*$ in a regex online tester seems to detect both Pester 3.4 and Pester 5 output, but I had problems making it work by editing directly in package.json (remember to escape \), so might need something more.
Proof-of-concept(Click to Expand)
demo.tests.ps1
Describe "VSCode Problem demo" {
Context "MyContext" {
if((Get-Module Pester).Version -ge "5.0") {
It "fails Pester5" {
1 | Should -Be 2
}
} else {
It "fails Pester" {
1 | Should Be 2
}
}
}
}
tasks.json
{
"version": "2.0.0",
"windows": {
"options": {
"shell": {
"executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"args": [
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command"
]
}
}
},
"tasks": [
{
"label": "Test",
"type": "shell",
"command": "Import-Module 'C:\\Program Files\\WindowsPowerShell\\Modules\\Pester\\3.4.0\\Pester.psd1'; Invoke-Pester -PesterOption @{IncludeVSCodeMarker=$true}",
"group": {
"kind": "test",
"isDefault": true
},
"problemMatcher": [
"$pester"
]
},
{
"label": "TestPester5",
"type": "shell",
"command": "Import-Module 'C:\\Program Files\\WindowsPowerShell\\Modules\\Pester\\5.0.3\\Pester.psd1'; Invoke-Pester -Configuration ([PesterConfiguration]@{Output=@{Verbosity = 'Detailed'}; Debug = @{ ShowNavigationMarkers = $true } })",
"group": {
"kind": "test",
"isDefault": true
},
"problemMatcher": [
"$pester"
]
}
]
}
Output Pester 3.4 (shown in Problems-tab):
Describing VSCode Problem demo
Context MyContext
[-] fails Pester 398ms
at <ScriptBlock>, C:\Sandbox\demo.tests.ps1: line 9
Expected: {2}
But was: {1}
9: 1 | Should Be 2
at <ScriptBlock>, C:\Sandbox\demo.tests.ps1: line 9
Tests completed in 398ms
Passed: 0 Failed: 1 Skipped: 0 Pending: 0 Inconclusive: 0
Output Pester 5.0.3 (not shown in Problems-tab):
Starting discovery in 1 files.
Discovering in demo.tests.ps1.
Found 1 tests. 95ms
Discovery finished in 192ms.
Running tests from 'demo.tests.ps1'
Describing VSCode Problem demo, C:\Sandbox\demo.tests.ps1:1
Context MyContext, C:\Sandbox\demo.tests.ps1:2
[-] fails Pester5, C:\Sandbox\demo.tests.ps1:4 124ms (94ms|30ms)
Expected 2, but got 1.
at 1 | Should -Be 2, C:\Sandbox\demo.tests.ps1:5
at <ScriptBlock>, C:\Sandbox\demo.tests.ps1:5
Tests completed in 727ms
Tests Passed: 0, Failed: 1, Skipped: 0 NotRun: 0
Attached Logs
Follow the instructions in the README about
capturing and sending logs.
Environment Information
Visual Studio Code
| Name | Version |
|---|---|
| Operating System | Windows_NT x64 10.0.19041 |
| VSCode | 1.48.2 |
| PowerShell Extension Version | 2020.6.0 |
PowerShell Information
| Name | Value |
|---|---|
| PSVersion | 7.0.3 |
| PSEdition | Core |
| GitCommitId | 7.0.3 |
| OS | Microsoft Windows 10.0.19041 |
| Platform | Win32NT |
| PSCompatibleVersions | 1.0 2.0 3.0 4.0 5.0 5.1.10032.0 6.0.0 6.1.0 6.2.0 7.0.3 |
| PSRemotingProtocolVersion | 2.3 |
| SerializationVersion | 1.1.0.1 |
| WSManStackVersion | 3.0 |
Visual Studio Code Extensions
Visual Studio Code Extensions(Click to Expand)
| Extension | Author | Version |
|---|---|---|
| azure-account | ms-vscode | 0.9.2 |
| azure-pipelines | ms-azure-devops | 1.174.2 |
| gc-excelviewer | GrapeCity | 3.0.40 |
| githistory | donjayamanne | 0.6.9 |
| gitlens | eamodio | 10.2.2 |
| hexeditor | ms-vscode | 1.2.1 |
| ilspy-vscode | icsharpcode | 0.9.0 |
| material-icon-theme | PKief | 4.2.0 |
| material-theme | zhuangtongfa | 3.8.7 |
| open-in-browser | techer | 2.0.0 |
| powershell | ms-vscode | 2020.6.0 |
| rainbow-csv | mechatroner | 1.7.1 |
| reg | ionutvmi | 1.0.1 |
| remote-containers | ms-vscode-remote | 0.134.1 |
| remote-ssh | ms-vscode-remote | 0.51.0 |
| remote-ssh-edit | ms-vscode-remote | 0.51.0 |
| remote-wsl | ms-vscode-remote | 0.44.5 |
| vscode-azurefunctions | ms-azuretools | 0.24.0 |
| vscode-azurestorage | ms-azuretools | 0.9.0 |
| vscode-docker | ms-azuretools | 1.5.0 |
| vscode-remote-extensionpack | ms-vscode-remote | 0.20.0 |
| vscode-test-explorer | hbenl | 2.19.1 |
| vsliveshare | ms-vsliveshare | 1.0.2731 |
| xml | DotJoshJohnson | 2.5.1 |