问题标签 [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 回答
1148 浏览

powershell - Pester 5.0.2 BeforeAll 块代码未显示在描述块中

我最近切换到 Pester 5.0.2 开始对我编写的 Powershell 脚本进行一些测试。我能够闯入 BeforeAll 块,并且按照我的预期填充路径,但是当我到达 Describe 块中的 Get-ChildItem 区域时,来自 BeforeAll 的变量为 $null。

0 投票
0 回答
103 浏览

powershell - 在 Pester 中所有带有变量的测试都失败了

我已经开始使用 Pester 为我的脚本编写测试用例PowerShell,但不幸的是,我什至在简单的测试中都失败了。对于任何测试,如果It块中有变量,即使它应该通过,测试也会失败。

下面是一个简化的代码:

在上面的代码中,测试should exist with variables test失败而测试should exist without variable test成功。

输出: 脚本执行的输出

我正在使用PowerShell 5.1Pester 5.1.1

0 投票
2 回答
507 浏览

windows - Pester 5 变量范围问题 - BeforeDiscovery/It

编辑

问题的关键是:如何访问BeforeDiscovery在我的块中的块中声明的变量,这些变量没有被构造It传递?it -foreach $var


我很难适应 Pester 5 中的发现/运行阶段和变量范围

背景

我们正在移动服务器,我要测试的是

  1. 上的每一股serverA存在于上serverB
  2. 上的每个可读共享serverA也可以在 上读取serverB

使用 Pester 5,下面的代码按预期运行,但要使其正常工作,我必须检索$toShares两次。在我的实际测试中检索共享是使用 anet view并且是一个相当长的运行操作。

  1. 我必须$toShares在发现阶段检索以构建$readableFromShares列表
  2. 我必须$toShares在 BeforeAll 块中检索相同的内容才能在should exists测试中使用它们

问题

我怎样才能最好地重组我的测试,以便我只需要检索$toShares一次?

测试代码

输出 包括两个故意失败的测试

输出测试用例


编辑

测试用例包括

  1. 两个从/到服务器(io 一个)
  2. 每组服务器的不同共享名

测试

0 投票
0 回答
33 浏览

powershell - Pester 的 XML 报告只包含文件名,不包含完整路径

我是 Pester 的新手,我在本地测试这些东西然后我遇到了这个问题。当我在纠缠中生成 XML 报告时,它包含这一行

但是当我使用 ReportGenerator 生成 HTML 文件时,它会给出“文件不存在(不再存在)”。所以我更改了上面的代码片段,它开始给出没有任何错误的结果。IE,

我有以下目录结构

我什至尝试在 AfterAll 块中添加此代码,但 XML 文件仅在其执行后生成。所以它给出了一个找不到文件的错误。

那么,有没有办法自动进行这种更改?

提前致谢

0 投票
1 回答
182 浏览

powershell - Pester Mock 导入模块

我正在使用版本纠缠版本 5.1.0

我创建了一个简单的 test.psm1

我创建了一个纠缠文件让我们称之为 test-tests.ps1

当我运行它时,它会返回“你好”。对于我的生活,我无法理解为什么 Pester 不会使用 testScript 的 Mock 版本并返回“hello3”。任何人都看到我在纠缠时哪里出错了?

0 投票
0 回答
37 浏览

powershell - 如何使用纠缠框架编写发送邮件消息的测试用例

我们有使用命令发送电子邮件的方法,send-mailmessage我们需要为此方法编写一个测试用例。我是新来的纠缠框架工作

如果我们为此编写一个测试用例,它会实际发送电子邮件还是模拟行为。如果它发送一封电子邮件,我们如何为此编写断言。任何人都可以帮助解决这个问题。任何帮助都将不胜感激。

0 投票
0 回答
56 浏览

pester - Pester 测试运行器和外部数据驱动测试

我想利用 Azure DevOps Pester Test Runner 步骤 - 获取 Pester 的最新可用版本等。但是,我还想运行类似于以下的数据驱动测试:

关于如何实现这一目标的任何建议?或者最好的答案是简单地复制 Azure DevOps Pester Test Runner 中的一些脚本,以获取最新的 Pester 版本,然后手动调用?

0 投票
2 回答
519 浏览

powershell - PowerShell Pester Mock Rest API 调用

是否有任何简单的方法可以在 Pester 中模拟 Rest API 调用

这是我的代码,我只需要在 Pester 中模拟那些 Rest API 调用并对其进行测试,有人可以在这里帮助我吗?

0 投票
1 回答
25 浏览

powershell - 使用 AppVeyor CI 为 Windows(小于 5.1)和 Core(6 或更高)测试 Powershell 模块/脚本

我在 github 上有一个 PowerShell 模块,它在 AppVeyor 上具有自动化功能,包括测试和发布。

最近的一项更改破坏了带有 Windows PowerShell 的新版本。一些小组仍然在 Windows PowerShell 上运行,他们向我告知了这一点(前同事)。

我的问题是是否以及如何使用 Pester 测试给定模块的两个版本。显然,在 Windows 系统上,您可以使用pwshor运行测试,powershell但我想知道是否有由Pesterv5 提供支持的更清洁的设置。

最重要的是,我想知道 AppVeyor 怎么可能,因为从文档中看,Powershell 的v5 和 v7 都没有图像?作为替代方案,文档提到可以使用多个图像,但我不明白会发生什么。目标是在 windows 和 core 上进行测试并发布一次。

0 投票
1 回答
85 浏览

powershell - 如何在 Pester 5 中为嵌套函数定义“It”测试?

给定一个带有函数和嵌套函数的 PowerShell 脚本 (.ps1)。函数“内部”不应移动到外部范围,因此不应导出。如何为“内部”功能定义“It”测试(希望不修改代码)?

使用:PS核心7.1.4:

使用:纠缠 5.3.0: