This error caught me out. I am putting this post here firstly to remind me if I do it again and also to help others who may hit the same issue.
I also have been looking at Pester which is a framework for running unit tests within PowerShell
You will find some good blog posts about starting with Pester here
So I created a function script file
Create-HyperVFromBase.ps1 and a tests script file
Create-HyperVFromBase.tests.ps1 as shown.
The tests contained this code
When I ran the test I got the following error
Googling pester “The script failed due to call depth overflow.” returned only 7 results but the Reddit link contained the information I needed
.Replace()is case sensitive. It didn’t remove the .tests. keyword from your file name. So it calls your test script again and repeats the same mistake over and over.
and so I renamed the tests script file to
Create-HyperVFromBase.Tests.ps1 With a Capital T! and bingo
Don’t forget to name your Pester Tests scripts with a capital T when loading the script in this way and remember that
Replace() is case sensitive.