@@ -45,6 +45,7 @@ if ($Script:BuildEnv.OptionTranscriptEnabled) {
45
45
Start-Transcript -Path $TranscriptLog -Append -WarningAction:SilentlyContinue
46
46
}
47
47
48
+ #$Script:BuildRoot = $BuildRoot
48
49
#region Configure
49
50
#Synopsis: Validate system requirements are met
50
51
task ValidateRequirements {
@@ -241,6 +242,50 @@ task RunPSScriptAnalyzeOnPublicSrcFunctions {
241
242
}
242
243
#endregion
243
244
245
+ #region Tests
246
+ task RunMetaTests LoadRequiredModules, {
247
+ Write-Description White 'Running meta tests with Pester' -accent
248
+ $ENV:BuildRoot = $BuildRoot
249
+ $invokePesterParams = @{
250
+ Strict = $true
251
+ PassThru = $true
252
+ Verbose = $false
253
+ EnableExit = $false
254
+ }
255
+ $testResults = Invoke-Pester -Tag 'MetaTest' $(Join-Path $BuildRoot 'Tests') @invokePesterParams
256
+ $numberFails = $testResults.FailedCount
257
+ assert($numberFails -eq 0) ('Failed "{0}" meta tests.' -f $numberFails)
258
+ }
259
+
260
+ task RunUnitTests LoadRequiredModules, {
261
+ Write-Description White 'Running Unit tests with Pester' -accent
262
+ $ENV:BuildRoot = $BuildRoot
263
+ $invokePesterParams = @{
264
+ Strict = $true
265
+ PassThru = $true
266
+ Verbose = $false
267
+ EnableExit = $false
268
+ }
269
+ $testResults = Invoke-Pester -tag 'UnitTest' $(Join-Path $BuildRoot 'Tests') @invokePesterParams
270
+ $numberFails = $testResults.FailedCount
271
+ assert($numberFails -eq 0) ('Failed "{0}" unit tests.' -f $numberFails)
272
+ }
273
+
274
+ task RunIntergrationTests LoadRequiredModules, {
275
+ Write-Description White 'Running Intergration tests with Pester' -accent
276
+ $ENV:BuildRoot = $BuildRoot
277
+ $invokePesterParams = @{
278
+ Strict = $true
279
+ PassThru = $true
280
+ Verbose = $false
281
+ EnableExit = $false
282
+ }
283
+ $testResults = Invoke-Pester -tag 'IntergrationTest' $(Join-Path $BuildRoot 'Tests') @invokePesterParams
284
+ $numberFails = $testResults.FailedCount
285
+ assert($numberFails -eq 0) ('Failed "{0}" unit tests.' -f $numberFails)
286
+ }
287
+ #endregion
288
+
244
289
#region Documentation/Help files
245
290
# Synopsis: Build the markdown help files with PlatyPS
246
291
task CreateMarkdownHelp GetPublicFunctions, {
@@ -826,6 +871,10 @@ task BuildSessionCleanup CleanScratchDirectory, {
826
871
#endregion
827
872
828
873
#region Main tasks
874
+ # Synopsis: Run all tests
875
+ task Tests RunMetaTests, RunUnitTests, RunIntergrationTests {
876
+
877
+ }
829
878
# Synopsis: Build the module
830
879
task Build Configure, CodeHealthReport, PrepareStage, GetPublicFunctions, SanitizeCode, CreateHelp, CreateModulePSM1, CreateModuleManifest, AnalyzeModuleRelease, PushVersionRelease, PushCurrentRelease, CreateProjectHelp, PostBuildTasks, BuildSessionCleanup, {
831
880
@@ -847,5 +896,5 @@ task AddMissingCBH Configure, CleanScratchDirectory, InsertCBHInPublicFunctions,
847
896
}
848
897
849
898
# Synopsis: Default task when running Invoke-Build
850
- task . Build
899
+ task . Tests, Build
851
900
#endregion
0 commit comments