PowerShell / PowerShell/PSScriptAnalyzer

PSUseConsistentWhitespace for Pester tests and 'Should Throw'

Offen
#1,298 5 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Area - Formatter
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Steps to reproduce

Testing.Tests.ps1 contains:

Describe -Name 'Test' -Fixture {
    It -Name 'Test' -Test {
        {1 / 0} | Should throw
    }
}

Expected behavior

No PSScriptAnalyzer issues.

Actual behavior

PSScriptAnalyzer requires a space before the opening brace. The indentation puts eight spaces before the brace. Maybe it's to do with the fact that there is nothing before the opening brace. However, this is the recommended way of testing for exceptions in Pester.

image

{
	"resource": "/<REMOVED>/Testing.Tests.ps1",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "PSUseConsistentWhitespace",
	"severity": 4,
	"message": "Use space before open brace.",
	"source": "PSScriptAnalyzer",
	"startLineNumber": 5,
	"startColumn": 9,
	"endLineNumber": 5,
	"endColumn": 10
}

Environment data

VS Code

Version: 1.36.1 (user setup)
Commit: 2213894ea0415ee8c85c5eea0d0ff81ecc191529
Date: 2019-07-08T22:59:35.033Z
Electron: 4.2.5
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362

Installed Extensions for VS Code

alefragnani.Bookmarks
Damien.autoit
eamodio.gitlens
ms-vscode.csharp
ms-vscode.powershell
ms-vscode.powershell-preview
streetsidesoftware.code-spell-checker
vscode-icons-team.vscode-icons

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.2
PSEdition                      Core
GitCommitId                    6.2.2
OS                             Microsoft Windows 10.0.18362 
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }

1.18.1
1.18.0
1.18.0

Various Settings Files
settings.json
PSScriptAnalyzerSettings.psd1
CustomRule.psm1

Various configuration files.zip

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduzieren Sie die Diagnose mit dem PowerShell-Snippet aus Testing.Tests.ps1 unter Verwendung von PSScriptAnalyzer 1.18.1 und überprüfen Sie die bereitgestellten Dateien PSScriptAnalyzerSettings.psd1 und CustomRule.psm1. Verfolgen Sie die Verarbeitung von PSUseConsistentWhitespace für den an Should throw übergebenen Scriptblock. Die Aufgabe gilt als abgeschlossen, wenn die empfohlene Pester-Ausnahmesyntax keine falsche Whitespace-Diagnose erzeugt, während andere Whitespace-Prüfungen intakt bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
powershell
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.