问题标签 [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.
unit-testing - 使用和不使用 ParameterFilter 模拟 Get-ADUser
我很新,Pester
所以请多多包涵。我们正在尝试对一个非常大的脚本进行测试,该脚本执行一些活动目录查询并验证数据。我已将其简化为以下示例:
假人.ps1
Dummy.Tests.ps1
错误:
在上述情况下,我们首先尝试收集特定 OU 中的所有用户帐户,然后收集特定安全组的所有成员。当我们拥有成员时,我们Get-ADUser
再次使用 CmdLet 来获取这些特定成员的更多详细信息。
最终目标是Mock
第一个Get-ADUser
返回所有用户帐户,第二个Mock
仅Get-ADUser
返回基于组成员身份(或模拟组成员身份)的一组特定用户帐户。
系统详情
- PowerShell 5.1
- 纠缠 4.1.1。
- 视窗服务器 2012 R1
- 广告模块 1.0.0.0。
powershell - Pester:如何防止我的脚本运行?
我正在测试一个 PowerShell 脚本。我想在不执行整个脚本的情况下测试单个函数。我不确定这是否是预期的用例或受支持,我在网上搜索时找不到好的答案
sut.ps1:
sut.tests.ps1:
输出
现在我可以嘲笑“啤酒”,因为它在描述块中运行。但我不能嘲笑“消息”,因为当我点源脚本时脚本开始执行。
就我而言,“消息”是我不想执行的操作。
我在 Windows 10 15063 上。
powershell - 在 PowerShell 函数和模块方面需要一些帮助
我有我正在使用的这个模块:
我正在使用这个 Pester 脚本来测试:
当我运行测试时,这是我得到的输出:
关于我可以做些什么来获得预期的 2.1.80 和 2.1.80-hotfix 值的任何想法?我尝试格式化字符串但无济于事。
我似乎无法弄清楚如何在不抛出参数$Offset
的情况下传递其他变量。$Suffix
powershell - Pester ParameterFilter 与 Assert-MockCalled 不匹配
我们正在尝试检查 CmdLetStart-ScheduledTask
是否已为特定的计划任务准确调用了一次。但由于某种原因,ParameterFilter
不匹配。
代码
当我们删除时,ParameterFilter
我们可以清楚地看到 CmdLet 已经被调用了一次。所以我假设过滤器中一定有语法错误。
pester - 如何在 Quamotion Pester 测试中使用全局变量
我正在使用 Quamotion 和 Pester 来测试我的移动应用程序。
现在,我发现自己不得不重复我在测试中使用的很多参数(例如用户名和密码)。
有没有办法在 Quamotion/Pester 测试中使用全局变量?
powershell - 需要帮助以使用 pester 测试自定义 powershell dsc 资源
我是纠缠测试的新手,并且我正在尝试测试我制作的自定义 dsc 资源,我正在测试的功能如下:
当我在没有纠缠的情况下手动测试资源时,它会返回此图像上的正确结果:get-targetresource 结果
这是我用于测试的纠缠代码:
这些测试非常简单,通常(我认为)它们都应该毫无错误地通过,问题在于当它应该返回“Present”时返回“Absent”的 Ensure 属性,如图所示:
它使用的是手动测试的相同数据,我真的不明白我在那里做错了什么?希望有人可以帮助我解决这个问题。提前致谢 !
编辑:*纠缠中的错误消息:
注意:我做了更多测试,问题似乎出在 Testdrive 上。当我直接使用脚本(点源)时,我得到了正确的结果。这仍然很奇怪,因为 testdrive 应该在测试后丢弃它的内容,而且看起来因为它没有?
powershell - Pester 没有捕捉到抛出的错误
当我运行以下纠缠测试时,我希望它能够捕获预期的错误,但它没有。但是,当我使用不同的函数和不同的 throw 语句运行测试时,它可以工作。
虫害测试:
未捕获的错误:
powershell - 有没有办法在 pester 中模拟 powershell 的 $PSVersionTable 变量
有没有办法$PSVersionTable
用 Pester 模拟 PowerShell 的变量?
这是我的代码:
测试用例.ps1:
测试用例.Tests.ps1:
我想模拟$PSVersionTable
变量,以便我可以检查它是否已被调用。
powershell - 如何在纠缠中使用强制参数模拟powershell函数
这是我的代码: Testcase.ps1
测试用例.Tests.ps1:
在这里,我想模拟一个带有强制参数的 powershell 函数,它不会向用户询问 $PSFilePath 变量值,而是使用任何虚拟值检查模拟函数。每当我运行Testcase.Tests.ps1时,它都会提示输入 $PSFilePath 值并运行源 powershell 脚本(Testcase.ps1)我被困在这个问题上,任何建议都会有很大帮助。
powershell - 从内部模拟脚本块(Pester)访问外部变量
假装我有这样的功能......
...在我的 Pester 测试脚本中...
这不起作用,但你明白我在这里想要做什么吗?我想从局部变量中获取值到 MOCK 脚本块中。我想避免对模拟中的返回值和 it 块中的预期结果进行硬编码。关于如何实现这一目标的任何想法?