当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Pester 简介 – 第 1 部分

作者:精品下载站 日期:2024-12-14 08:10:09 浏览:16 分类:玩电脑

Pester 简介 – 第 1 部分


[玩转系统] Pester 简介 – 第 1 部分

代码审查和软件单元测试并不是代码开发中最常见的任务,PowerShell DevOps 也未能幸免。尽管如此,当您编写函数或脚本来执行特定任务时,了解您的脚本是否执行了它应该执行的操作仍然很重要。

借助用于 PowerShell 测试和模拟的 Pester 框架,这项任务变得不再那么耗时和烦人。 Pester 提供了一种用于为 PowerShell 脚本、cmdlet、函数和模块编写单元和集成测试的语言。正如我们习惯使用 PowerShell 一样,这些测试可以轻松实现自动化。

在本文中,您将了解如何开始使用 Pester 以及使用 Pester 测试脚本的基础知识。

安装 Pester

首先,您必须检查您的计算机上是否可以使用 Pester 及其版本。

Get-Module -ListAvailable Pester
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 5.0.4 Pester {Invoke-Pester, Describe, Context, It...}
Update-Module -Name Pester
Install-Module Pester -Force
Import-Module Pester
Get-Module

[玩转系统] Pester 简介 – 第 1 部分

图 1:Pester 现在在模块输出中可见

创建纠缠测试

让我们创建您的第一个 Pester 测试。我们将在这里查看第一个示例。我们将把它分成几个部分。假设您需要测试为在 Office 365 中执行某些任务而创建的脚本。这将要求您将 PowerShell 连接到 Office 365 租户。请检查此链接下载 EXO V2 PowerShell 模块。

使用以下命令连接到 Office 365 租户:

$Credentials = Get-Credential
Connect-ExchangeOnline -Credential $Credentials

您有一个 csv 文件,其中包含您需要对其执行任务的用户列表。第一个目标是确保所提供的路径确实存在。让我们创建一个测试来验证这一点。

Describe "Test-CSV" {
It "CSV exists" {
"" | Should -Exist
}
}

如果该文件存在于所述位置,则输出应类似于以下内容:

[玩转系统] Pester 简介 – 第 1 部分

图2:成功的路径测试

这里发生了很多事情。首先,我们使用Invoke-Pester命令来启动 Pester 测试。这是调用测试的方法。

下一部分是在给定位置发现测试文件。 Pester 测试的格式为“filename.tests.ps1”。

提示: ScriptRunner 根据文件格式自动识别 Pester 测试。相应的测试脚本会自动归档到 ScriptRunner 管理应用程序的“Pester Tests”子库中。

[玩转系统] Pester 简介 – 第 1 部分

ScriptRunner 自动对“Pester Tests”子库中的 Pester 脚本进行排序。

一旦找到文件,它将检查给定的条件数量,然后执行测试。然后测试结果显示在底部。

在本例中,我已在提到的位置创建了该文件;因此,我的测试成功了。但是,如果在该位置找不到该文件,则输出将如图 3 所示:

[玩转系统] Pester 简介 – 第 1 部分

图 3:不成功的路径测试

该测试的其他方面是“描述”和“它”块。您将在下一节中阅读有关它们的更多信息。

纠缠块

正如前面讨论的示例所示,Pester 中使用的函数很容易掌握。 Pester 中使用的块是:

  • 描述
  • 语境
  • 在此之前
  • 毕竟
  • 每个之前
  • 每个之后

描述块

这是 PowerShell 中的脚本块。您将在此块中输入几乎所有测试代码。块

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯