问题标签 [pester-5]
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.
powershell - 如何使用 Pester 验证传递给模拟函数的参数值
我有一个用 PowerShell 编写的函数,我正在尝试使用 Pester v-5 测试该函数。我在下面的代码示例中包含了被测函数和 Pester 测试用例。
我正在尝试验证$FileName
传递给模拟函数的参数Save-Report
是否正确。我怎样才能做到这一点?
笔记:
- 当我模拟函数并返回测试值时,我意识到该
$Filename
参数的值被设置为测试值。Add-StringToFileName
但我仍然想测试该值是否一直到最后并保持不变。 - 这绝对是我想在未来的测试中做的事情,所以我想了解如何做到这一点。
被测功能
单元测试
powershell - 将 PowerShell 哈希的键/值与 Pester TestCases 一起使用
我想通过TestCases
参数将 PowerShell 哈希的键/值传递给 Pester 单元测试:
但似乎无法正确地“塑造”哈希的属性以使测试正常工作。
pester - V5——数据驱动标签?
在 Pester v5 实现中,有什么方法可以使用数据驱动标签?
我的用例:
- 在更大的数据集上运行
- 让所有测试都可以在数据集上运行
- 能够通过配置过滤器针对我的数据集的特定元素运行
我的概念示例:
TIA
powershell - get-childitem 子文件夹或“rbac.jsonc”文件
我想检查所有文件夹是否包含子文件夹或 rbac.jsonc 文件。
- 我想遍历作为根文件夹的文件夹列表 $topMgFolderPath。
- 我想一直到文件夹中的树下
- 如果有任何不符合我的条件的东西,我希望触发 Pester 测试失败。
- 我希望文件夹有一个 rbac.json 文件,在这种情况下,该文件夹中的所有子文件夹将被任何进一步处理忽略,或者至少有一个子文件夹本身包含一个 rbac.jsonc 文件或更多子文件夹,这些子文件夹将导致向下此类文件的行。
- 在所有情况下,都会忽略 .policy 文件夹
这有可能吗?
powershell - Pester 5 嘲笑和发现之前
尝试在 pester 5.3.1(最新)和 ps7.2.1 中测试功能
模拟 remove-mguser 函数并测试函数输出的用户对象的结果数组的最佳方法是什么remove-graphuser
试过这个:但它似乎跳过了之前定义的模拟。
这也不起作用(foreach it 块被跳过但 assert-mock 运行)
希望能够模拟remove-mggraphuser
,因为我不想实际删除用户只是测试逻辑并且还能够$result
使用 -Foreach 迭代变量。
$result
变量包含withpscustomobjects
和id
属性displayname
。我正在用 2 个这样的对象来测试函数。
更新:我想我需要改变测试数据的方式,所以关闭它
powershell - 在 Pester 中模拟 Auth Token 功能
我编写了一个 PowerShell 函数,该函数使用 REST API 调用在 azure 中生成身份验证令牌。我使用租户 ID、服务主体客户端 ID 和客户端密码作为输入参数来生成此令牌。正在从 azure keyvault 中读取 SP 客户端 ID 和客户端密码。
我想写一个单元测试来:
- 从密钥库中读取机密
- 模拟 REST API 调用以生成虚拟身份验证令牌
我打算使用 PESTER 进行单元测试,在这里需要一些帮助。
这是我的功能:
unit-testing - 在 Pester 中模拟 REST API 的响应
我有一个 PowerShell 脚本,它从 REST API 调用返回一个字符串。我在用
我能够模拟请求,但我也应该能够模拟响应,以便它返回 $Response 的虚拟字符串值。目前我收到一个错误 RuntimeException: You cannot call a method on an null-valued expression。
我已经尝试了以下代码作为响应,但我得到了同样的错误。
有什么想法吗?