问题标签 [pester]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
885 浏览

powershell - PowerShell 模块函数无法访问调用者范围内的变量

我将 Pester 与 Selenium WebDriver 一起使用。WebDriver 在相应的“Describe”块内的“BeforeAll”块中初始化,并将生成的实例分配给 $driver 变量。然后,在“描述”和“它”块中,我调用驻留在外部 PowerShell 模块中的自定义函数,该模块由 PowerShell 自动加载。我希望这些函数可以访问“BeforeAll”块中定义的 $driver 变量,但它没有发生,我收到以下错误消息:

RuntimeException:您不能在空值表达式上调用方法。

以下是 Search.Tests.ps1 Pester 脚本中的代码:

Find-WebElement 和 GetTextFrom-WebElement 是帮助函数,它们使用 $driver 通过 CSS 获取元素并提取元素的内部文本。

我调查了这个问题并找到了解决方法,但我认为这不是一个优雅的方法。解决方法是在外部 PowerShell 模块中的每个辅助函数中重新定义 $driver,就在 param 块之后,如下所示:

这样,函数可以看到 $driver 并且一切正常。

我的问题:是否有可能做某事,所以函数总是可以访问 $driver 而无需在每个函数中重新定义驱动程序?

0 投票
2 回答
1030 浏览

unit-testing - 使用 Pester 测试我的 PowerShell 脚本时如何模拟输出文件?

我正在尝试使用 Pester 测试我的 PowerShell 代码。我想模拟out-file以下行:

但是我想在测试时给出自己的文件路径。

我尝试了以下方法:

但它不工作。

0 投票
0 回答
1141 浏览

windows - 使用我的 iPad 在我的台式电脑上远程执行 Powershell

是否有人有说明/资源/分步指导,使我能够在我的 iPad 上使用我的 iOS 远程继续开发一些测试驱动开发,以在我的 Win 10 桌面上与 Pester 执行 Powershell 会话。

我的网络技能意识需要升级,因为我不确定我需要正确配置和设置双方的哪些应用程序。

不确定 Powershell 网络功能是否允许我这样做。这样做的想法是使用 iPad 在沙发上放松,而不是坐在办公桌前使用桌面。:)

谢谢。

0 投票
1 回答
1610 浏览

powershell - 比较两个 PsCustomObjects 的属性

我知道我可以比较两个 PowerShell 对象的

但是,我需要比较两个 PowerShell 对象的属性是否存在。

这些对象将被视为相同:

这些对象将被视为不相同:

有没有好的方法来做到这一点?

0 投票
0 回答
102 浏览

powershell - 无法在运行空间上进行类型验证

我正在使用 Pester 对我正在创建的模块进行一些单元测试,并且我的一个应该返回运行空间对象的函数遇到了一些麻烦。当我创建一个运行空间对象并执行 a 时,.GetType()我看到名称列为 LocalRunspace,全名为 System.Management.Automation.Runspaces.LocalRunspace 但是当我运行$Runspace -is [LocalRunspace]$Runspace -is [System.Management.Automation.Runspaces.LocalRunspace]收到以下错误消息时

只是想弄清楚我应该引用什么类型以创建正确的验证检查。我知道我可以回退到与结果进行比较,.GetType()但我真的更愿意使用正常的 Pester 约定Should BeOfType

0 投票
2 回答
730 浏览

powershell - 如何在 Pester 测试中模拟 Read-Host?

如果我有这个功能:

我如何模拟 Read-Host 以返回我想要的?例如,我想做这样的事情(这是行不通的):

0 投票
1 回答
520 浏览

powershell - 在 Pester 中测试集合是否相等或等价

在 nUnit 中,我们可以这样做:

Pester 中是否有等价物?

我知道我能做到

但它的行为并不像您期望的那样。

我使用正确的语法吗?

0 投票
1 回答
489 浏览

unit-testing - 使用 Pester 对基于类的 DSC 资源进行单元测试

我在对基于类的 DSC 资源进行单元测试时遇到问题。我正在尝试模拟类中的几个函数,但出现转换错误。

我的测试代码是这样的:

有谁知道如何实现这一目标?

提前致谢

0 投票
2 回答
2158 浏览

powershell - Mock 函数应该如何接受 Pester 中的管道输入?

我对 Pester 很陌生,我正在尝试在 PowerShell 中为一个非常小而简单的函数构建测试:

如果记事本没有运行,这个函数只会启动它,否则如果它正在运行,它就会停止它。

我设计的测试是这样的:

上述测试按预期运行。

如何重写Stop-Process函数以便我可以指定此版本用于接受管道输入?

我试过这个,但它不工作:

由于该Stop-Process函数接受管道输入,我的目标是模拟与此类似的函数,而不是创建不Stop-Process接受任何参数的通用函数。

有没有 Pester 专家可以提供帮助?

0 投票
1 回答
2358 浏览

class - Powershell 5 类的 Pester 模拟方法

我在尝试模拟 powershell 5 类方法时遇到问题,在执行测试时,我收到错误“CommandNotFoundException:找不到命令 FunctionToMock”。我正在尝试通过模拟“FunctionToMock”来对“OutputToOverwrite”方法进行单元测试。我想我必须先模拟 ChocoClass 本身,但我不知道该怎么做。谢谢。