Visual Studio 不对 Pester 单元测试执行应用 Powershell 模块更改

Visual Studio doesn't apply Powershell module changes on Pester unit test execution

我在 Visual Studio 2015 年创建了一个 "Powershell Module Project" 并为该模块编写了一些功能。当我更改 .psm1 文件并尝试使用 Pester 框架(.test.ps1 文件)对这些更改进行单元测试时,新更改不会在测试期间应用。这发生在 Visual Studio 2015 年和 Visual Studio 2017 年。

我试过:

目前我找到的唯一解决办法是重新打开 IDE。

这个问题可能起源于哪里,还有其他解决方案吗?

当您更改已加载的 PowerShell 模块时,这些更改不会自动应用于当前 运行ning PowerShell 会话,因为该模块已加载到内存中(即使如果您手动 运行 Import-Module <modulename> 因为 PowerShell 看到模块已经加载并且什么都不做)。

解决方法是先使用 Remove-Module,然后使用 Import-Module 重新加载,或者使用 Import-Module <modulename> -Force

您可以将这些解决方案中的任何一个添加到您的 Pester 测试文件的顶部,以确保它始终在测试之前重新加载模块。