#pspester
A no-inherit comment at the top of a folder's Pester.BeforeContainer.ps1 stops the chain there, so no setup file above that folder applies to it. Same meaning root = true has in editorconfig. New in 6.2.

github.com/pester/Peste... #pspester #powershell
September 22, 2026 at 7:00 AM
Run.Parallel needed ForEach-Object -Parallel, a PowerShell 7 cmdlet, so Windows PowerShell 5.1 ran sequentially. Pester 6.2 uses the runspace pool API both editions ship, so 5.1 runs parallel. Experimental.

github.com/pester/Peste... #pspester #powershell
September 21, 2026 at 4:02 PM
BeforeAll threw and Pester blamed a break or continue statement escaping your code? In 6.1 the real exception was discarded. In 6.2 you get the error that actually threw, with the line it came from.

github.com/pester/Peste... #pspester #powershell
September 20, 2026 at 7:00 AM
In 6.2 every folder down to your test file can have its own Pester.BeforeContainer.ps1, applied outermost first, so tests/unit and tests/integration each add their own setup on top of the shared root one.

github.com/pester/Peste... #pspester #powershell
September 19, 2026 at 4:00 PM
In 6.2 top level code in Pester.BeforeContainer.ps1 runs during discovery only. To reach your tests it has to sit inside BeforeAll, the same rule your test files follow. Wrap a bare Import-Module or it is not there.

github.com/pester/Peste... #pspester #powershell
September 13, 2026 at 7:00 AM
A dead worker in a parallel run takes its whole test file with it. Pester 6.2 checks that every file came back and fails the run, naming the one that did not. Before, the suite went green one file short.

github.com/pester/Peste... #pspester #powershell
September 12, 2026 at 4:01 PM
A second BeforeAll in the same block threw in 6.1. In 6.2 a block takes as many BeforeAll and AfterAll as you want, setups running in the order you wrote them and teardowns in reverse.

github.com/pester/Peste... #pspester #powershell
September 11, 2026 at 7:00 AM
Your Pester.BeforeContainer.ps1 silently not applying? In 6.1 Pester found the repo root from the process working directory, which Set-Location does not change. In 6.2 it starts from where your session is.

github.com/pester/Peste... #pspester #powershell
September 10, 2026 at 4:03 PM
Run.Parallel works on Windows PowerShell 5.1, not just PowerShell 7. 5.1 is the slowest edition, so it is the one that needed it most.

github.com/pester/Peste...

#pspester #powershell
September 9, 2026 at 7:52 PM
Errors thrown from inside Pester used to print no location at all. A BeforeAll that failed because a database was down reported an escaped break statement instead. Both fixed. #pspester #powershell
September 9, 2026 at 7:52 PM
A configuration value of the wrong type used to be ignored, so the run quietly did not do what you asked. Run.Parallel = 'yes' throws now, and a misspelled key gets a warning that names it. #pspester #powershell
September 9, 2026 at 7:52 PM
Should-BeString prints a real diff now, instead of a caret under the first character that differed. It finds every region that differs and prints them with context. #pspester #powershell
September 9, 2026 at 7:52 PM
Pester 6.2.0 is out. Setup files follow your folders now: every Pester.BeforeContainer.ps1 from the repo root down to the test file's own folder applies, outermost first. Unit and integration tests each get their own setup. #pspester #powershell
September 9, 2026 at 7:52 PM
Call for Speakers for PSConfEU MiniCon 2026 is open on Sessionize and I've just submitted a session about Pester 6.

This is great opportunity to speak publicly, go check it out!

#pspester #powershell

sessionize.com/psconfeu-min...
PSConfEU MiniCon 2026: Call for Speakers
Welcome to PSConfEU MiniCon 2026's Call for Speakers!PSConfEU MiniCon is a free online event that brings together members of the PowerShell community ...
sessionize.com
September 9, 2026 at 12:22 PM
Pester 6 catches a classic bug: -ForEach with an empty array used to skip silently. Now it fails discovery, so tests that never ran do not look green. Opt out with -AllowNullOrEmptyForEach. #pspester #powershell
September 6, 2026 at 4:01 PM
The thing I would try first in 6.2.0: every folder gets its own test setup. Pester.BeforeContainer.ps1 applies from the repo root down to the test file, so unit and integration tests stop sharing one setup at the top.

github.com/pester/Peste...
#pspester #powershell
September 5, 2026 at 3:16 PM
Pester 6.2.0-alpha2 is out. 6.2.0 has been feature complete for a while, so this one is almost all fixes, including importing on PowerShell 7.4.0 again. Probably the last preview before 6.2.0 ships.

github.com/pester/Peste...
#pspester #powershell
September 5, 2026 at 3:16 PM
Pester 6: assert on speed. { Start-Sleep -Milliseconds 100 } | Should-BeFasterThan 1s. Time literals like 1s and 50ms just work, and Should-BeSlowerThan is the opposite. #pspester #powershell
September 5, 2026 at 7:00 AM
Pester 6: check your function's public contract. Get-Command My-Func | Should-HaveParameter Name -Type ([string]) -Mandatory. It reads the real parameter metadata: type, mandatory, default, alias, set. #pspester #powershell
September 4, 2026 at 4:03 PM
Pester 6: run an assertion over every item. 1,2,3 | Should-All { $_ | Should-BeGreaterThan 0 }. A nested Should failure counts as that item failing, and Pester tells you which one. #pspester #powershell
September 3, 2026 at 7:01 AM
Pester 6: Should-BeCollection compares by contents and ignores the concrete type, so an object[] and a List[int] with the same items are equal. Or check only the size with -Count 3. #pspester #powershell
September 2, 2026 at 4:03 PM
Pester 6: comparing objects but one field is a random id or timestamp? Should-BeEquivalent $expected -ExcludePath 'Id', 'user.name'. Dotted paths reach nested properties. #pspester #powershell
September 1, 2026 at 7:01 AM
New in Pester 6.1: drop a Pester.BeforeContainer.ps1 at your repo root and Pester dot-sources it into every test file before it runs. Handy for parallel runs that start from clean runspaces. #pspester #powershell
August 31, 2026 at 4:03 PM
Pester 6: Should-BeEquivalent deep-compares objects, recursively and order-insensitive, property by property. Check a whole API response against an expected object in one line. #pspester #powershell
August 30, 2026 at 7:00 AM
Should-BeString now prints a real text diff with line numbers for the parts that differ. It turns on above 10 lines or 120 characters. So you see everything that is wrong at once, not just the first character.

github.com/pester/Peste... #pspester #powershell
August 30, 2026 at 6:39 AM