Repository navigation
Support test files alongside source like Pester suggests #108
Description
Activity
Well, obviously I disagree that it's standard or the best way (and Pester itself certainly doesn't do that) but I would be happy to add support for
Exclude. Honestly, I think we could even add a defaultExclude = "*.Tests.ps1"although it would technically be a breaking change, so maybe not worth it.You can easily hard code that in a fork for yourself though. You would just need to change line 206 of Build-Module.ps1
# SilentlyContinue because there don't *HAVE* to be functions at all $AllScripts = Get-ChildItem -Path @($ModuleInfo.SourceDirectories).ForEach{ Join-Path $ModuleInfo.ModuleBase $_ } -Filter *.ps1 -Recurse -ErrorAction SilentlyContinue
to add
-Exclude *.tests.ps1like:# SilentlyContinue because there don't *HAVE* to be functions at all $AllScripts = Get-ChildItem -Path @($ModuleInfo.SourceDirectories).ForEach{ Join-Path $ModuleInfo.ModuleBase $_ } -Filter *.ps1 -Exclude *.tests.ps1 -Recurse -ErrorAction SilentlyContinue
Reacted by sjwesternI filed an issue against the Pester docs, because I can't find anyone who does that. I think they're talking about it from a "my first PowerShell script" practice, not module developers.
Reacted by gaelcolas@sjwestern putting test files next to your production files is just one of the ways to structure your projects. Pester suggests it as an option, because it is the simplest way to do it for simple projects. More advanced projects are usually split their code into src and tst / test / tests folder. The guidance in Pester docs was updated to reflect that.
Reacted by gaelcolas- Reacted by Joel Bennett
- added21 - HacktoberfestThese tickets are particularly easy to do without understanding the whole codebaseThese tickets are particularly easy to do without understanding the whole codebase
on Oct 15, 2021
Is it possible to have test files next to their source files instead of in a separate directory?
This seems to be pretty standard and is the Pester docs recommended way of doing it.