PowerShell / Operation-Validation-Framework

MIT License
225 stars 32 forks source link

OVF support for Pester v5 #41

Open jlrd opened 2 years ago

jlrd commented 2 years ago

It appears that OVF version 1.2.1 (and earlier) do not support the Pester v5 release. I can get it to work with version 4.10.1 but not v5.

Current Behavior

When executing tests with Invoke-OperationValidation I get an Invoke-Pester error "A parameter cannot be found that matches parameter name 'TestName'." Pester v5 does not appear to have this parameter, it looks like it was deprecated in v5, present in v4.

Expected Behavior

Get-OperationValidation properly discovers my test modules, but Invoke-OperationValidation does not properly execute them.

Possible Solution

In the event that multiple versions of Pester exist on a system, it would be nice to pass an override to use v4 on behalf of OVF, but still be able to use v5 on systems for other purposes. There is a "Version" parameter on Invoke-OperationValidation but it does not appear to support this purpose. Better still would be to update the parameter set passed to Invoke-Pester such that it supports the Pester v5 parameter set.

Steps to Reproduce (for bugs)

  1. Package operation tests into PS module
  2. Install OVF tests PS Module into path
  3. Execute Get-OperationValidation to retrieve tests to be executed
  4. Pass object collection to Invoke-OperationValidation, Invoke-Pester errors result.

Context

OVF would appear to not function if Pester v5 is installed as it simply executes Invoke-Pester against latest version.

Your Environment

aldrichtr commented 2 years ago

There didn't seem to be a lot of activity here, or at poshspec, when I went looking for this capability. I decided to start my own project and add in a few other capabilities from other tools like chef inspec, serverspec, etc. It's just getting started, but it's here if you want to follow/contribute...