Skip to content

Commit d42d374

Browse files
nohwndCopilot
andauthored
Fix #2722: Add missing Because parameter to Should-BeSlowerThan (#2727)
* Fix #2722: Add missing Because parameter to Should-BeSlowerThan and fix flaky test Should-BeSlowerThan referenced $Because in error messages but never declared it as a parameter, so it was always null. Also changed the Should-BeFasterThan Because test to use a deterministic [timespan] instead of a scriptblock with Start-Sleep to avoid timing flakiness on CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Verify Because message appears in assertion error Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 789acc0 commit d42d374

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

src/functions/assert/Time/Should-BeSlowerThan.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@
5151
[Parameter(Position = 1, ValueFromPipeline = $true)]
5252
$Actual,
5353
[Parameter(Position = 0)]
54-
$Expected
54+
$Expected,
55+
[string] $Because
5556
)
5657

5758
if ($Expected -isnot [timespan]) {

tst/functions/assert/Time/Should-BeFasterThan.Tests.ps1

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ Describe "Should-BeFasterThan" {
4949
}
5050

5151
It "Has Because parameter" -ForEach @(
52-
@{ Actual = { Start-Sleep -Milliseconds 10 }; Expected = "1ms"; Because = "I said so" }
52+
@{ Actual = [timespan]::FromMilliseconds(100); Expected = "1ms"; Because = "I said so" }
5353
) {
54-
{ $Actual | Should-BeFasterThan -Expected $Expected -Because $Because } | Verify-AssertionFailed
54+
$err = { $Actual | Should-BeFasterThan -Expected $Expected -Because $Because } | Verify-AssertionFailed
55+
$err.Exception.Message | Verify-Like '*because I said so*'
5556
}
5657
}

tst/functions/assert/Time/Should-BeSlowerThan.Tests.ps1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,11 @@ Describe "Should-BeSlowerThan" {
2424
) {
2525
{ $Actual | Should-BeSlowerThan -Expected $Expected } | Verify-AssertionFailed
2626
}
27+
28+
It "Has Because parameter" -ForEach @(
29+
@{ Actual = [timespan]::FromMilliseconds(1); Expected = "1000ms"; Because = "I said so" }
30+
) {
31+
$err = { $Actual | Should-BeSlowerThan -Expected $Expected -Because $Because } | Verify-AssertionFailed
32+
$err.Exception.Message | Verify-Like '*because I said so*'
33+
}
2734
}

0 commit comments

Comments
 (0)