Hi,
What is the best method to mock a cmdlet that is expected to execute multiple times in a foreach loop and each time the mocked cmdlet is expected to produce different output and that output is collected within an array?
Is the Mock-Command written out multiple times within your pester test?
Within my code the Invoke-SQL command will be executed 3 times to pull back different data from a SQL table. And the result set of each invoke is collected within an array variable. I am puzzled on how to provide test data and proper generate a pester test for this part of the function.
# snippet from my function $Queries = @{ Query = "Select Customer From Customertable" }, @{ Query = "Select State From Customertable" }, @{ Query = "Select City From Customertable" } $result = @() foreach ($q in $Queries) { $QueryResult = Invoke-SQL -Query $q -ConnString $ConnString $result += $QueryResult } #...then I do some validation on the data that is in the $result variable.