问题标签 [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.

0 投票
1 回答
139 浏览

powershell - 如何使用 Pester 验证传递给模拟函数的参数值

我有一个用 PowerShell 编写的函数,我正在尝试使用 Pester v-5 测试该函数。我在下面的代码示例中包含了被测函数和 Pester 测试用例。

我正在尝试验证$FileName传递给模拟函数的参数Save-Report是否正确。我怎样才能做到这一点?

笔记:

  • 当我模拟函数并返回测试值时,我意识到该$Filename参数的值被设置为测试值。Add-StringToFileName但我仍然想测试该值是否一直到最后并保持不变。
  • 这绝对是我想在未来的测试中做的事情,所以我想了解如何做到这一点。

被测功能

单元测试

0 投票
1 回答
88 浏览

powershell - 将 PowerShell 哈希的键/值与 Pester TestCases 一起使用

我想通过TestCases参数将 PowerShell 哈希的键/值传递给 Pester 单元测试:

但似乎无法正确地“塑造”哈希的属性以使测试正常工作。

0 投票
1 回答
16 浏览

pester - V5——数据驱动标签?

在 Pester v5 实现中,有什么方法可以使用数据驱动标签?

我的用例:

  • 在更大的数据集上运行
  • 让所有测试都可以在数据集上运行
  • 能够通过配置过滤器针对我的数据集的特定元素运行

我的概念示例:

TIA

0 投票
1 回答
37 浏览

powershell - get-childitem 子文件夹或“rbac.jsonc”文件

我想检查所有文件夹是否包含子文件夹或 rbac.jsonc 文件。

  • 我想遍历作为根文件夹的文件夹列表 $topMgFolderPath。
  • 我想一直到文件夹中的树下
  • 如果有任何不符合我的条件的东西,我希望触发 Pester 测试失败。
  • 我希望文件夹有一个 rbac.json 文件,在这种情况下,该文件夹中的所有子文件夹将被任何进一步处理忽略,或者至少有一个子文件夹本身包含一个 rbac.jsonc 文件或更多子文件夹,这些子文件夹将导致向下此类文件的行。
  • 在所有情况下,都会忽略 .policy 文件夹

这有可能吗?

0 投票
0 回答
15 浏览

count - Pester 测试在管道中失败,但在本地使用 get-childitem 失败

正如测试所说,我想测试文件夹是否包含子文件夹或 rbac.jsonc 文件。当我在本地运行时,此处的测试工作正常,但是当我提交它时,管道失败,因为此测试失败。

在此处输入图像描述

它所指的文件夹包含名为“.subscription”的子文件夹,因此我应该通过测试。文件夹结构应该不是问题,因为我可以确定它正在寻找正确的位置,只是没有找到子文件夹?

我不明白它如何在本地工作而不是在管道中工作?如果 ($SubDirectories.Count -eq 0) 出于某种原因,它必须在这条线附近它无法计算子目录

0 投票
1 回答
37 浏览

powershell - Pester 5 嘲笑和发现之前

尝试在 pester 5.3.1(最新)和 ps7.2.1 中测试功能

模拟 remove-mguser 函数并测试函数输出的用户对象的结果数组的最佳方法是什么remove-graphuser

试过这个:但它似乎跳过了之前定义的模拟。

这也不起作用(foreach it 块被跳过但 assert-mock 运行)

希望能够模拟remove-mggraphuser,因为我不想实际删除用户只是测试逻辑并且还能够$result使用 -Foreach 迭代变量。

$result变量包含withpscustomobjectsid属性displayname。我正在用 2 个这样的对象来测试函数。

更新:我想我需要改变测试数据的方式,所以关闭它

0 投票
0 回答
28 浏览

powershell - 在 Pester 中模拟 Auth Token 功能

我编写了一个 PowerShell 函数,该函数使用 REST API 调用在 azure 中生成身份验证令牌。我使用租户 ID、服务主体客户端 ID 和客户端密码作为输入参数来生成此令牌。正在从 azure keyvault 中读取 SP 客户端 ID 和客户端密码。

我想写一个单元测试来:

  1. 从密钥库中读取机密
  2. 模拟 REST API 调用以生成虚拟身份验证令牌

我打算使用 PESTER 进行单元测试,在这里需要一些帮助。

这是我的功能:

0 投票
1 回答
18 浏览

unit-testing - 在 Pester 中模拟 REST API 的响应

我有一个 PowerShell 脚本,它从 REST API 调用返回一个字符串。我在用

我能够模拟请求,但我也应该能够模拟响应,以便它返回 $Response 的虚拟字符串值。目前我收到一个错误 RuntimeException: You cannot call a method on an null-valued expression。

我已经尝试了以下代码作为响应,但我得到了同样的错误。

有什么想法吗?