powershell - 使用 PSUseDeclaredVarsMoreThanAssignment 进行纠缠测试

标签 powershell visual-studio-code pester

如果在 PSPester 脚本的 Describe block 中声明变量,并且在 It block 中使用该变量,则 PSScriptAnalyzer 无法识别该变量的用法多变的。

我必须如何声明变量才能消除警告,或者我必须如何将 PSUseDeclaredVarsMoreThanAssignment 规则的 Diagnostics.CodeAnalysis.SuppressMessage 应用到抑制该单一声明的警告?

最佳答案

另一个解决方法是将这两个变量分配给脚本范围。 看起来 PSScriptAnalyzer 试图变得聪明,并将花括号视为子范围。因此,$foo 变量不在 BeforeEach 作用域中使用,但在 It 作用域中虽然未赋值,但仍被使用。

EX: $script:foo does not result in a linting error .

实际的解决方案是帮助 vscode-powershell 扩展开发。但这可能会更困难。

关于powershell - 使用 PSUseDeclaredVarsMoreThanAssignment 进行纠缠测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438850/

相关文章:

mongodb - 将 kubectl exec 的返回值获取到 powershell 脚本中

powershell - Pester 5.0.2 BeforeAll block 代码未显示在 Describe block 中

powershell - 重复的命令行参数

powershell - 使用Powershell 1.0将结果添加到新的Excel工作表中

visual-studio-code - Visual Studio 代码美化格式问题

python-3.x - Visual Studio Code Python linting 不适用于 venv 和 wsl

powershell - 从文件计算时间

powershell - PowerShell中的grep gci输出

ubuntu - Visual Studio Code 跟随链接(Ctrl + 单击)在编辑器中打开它,而不是在浏览器中打开它