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

0 投票
2 回答
1776 浏览

unit-testing - Pester 中的 Assert-MockCalled 与 Assert-VerifiableMocks

是什么让 Assert-VerifiableMocks 与 Pester 中的 Assert-MockCalled 不同?我一直在阅读

但仍然想知道:以下代码部分是否等效且可互换?

使用 Assert-MockCalled:

使用 Assert-VerifiableMocks:

0 投票
3 回答
335 浏览

unit-testing - 模拟命令失败

如何模拟命令失败?在上面的代码中,Set-Location 命令将出现非终止错误。美元?变量将被设置为 false 并且将输出错误消息并且脚本将退出。

如何模拟 Set-Location 命令来设置 $?变量为假?

0 投票
1 回答
1661 浏览

unit-testing - 模拟 .ps1 脚本中的函数

我有一个 PowerShell .ps1 文件,其中包含脚本顶部的函数,然后是调用这些函数的不同命令。我正在使用 Pester 对我的脚本文件进行单元测试。

如何模拟我的 PowerShell .ps1 脚本中的函数?

我曾尝试模拟该函数,但出现“找不到命令”的错误消息。

我还尝试在描述块中添加一个空的“虚拟”函数。这并没有给我上述错误,但它没有正确模拟脚本中的函数。

我有两个文件。一个保存测试,另一个保存函数和对函数的调用。下面是两个例子:

文件1.ps1

文件2.Tests.ps1

0 投票
3 回答
2231 浏览

unit-testing - 如何使用 Pester 模拟对 exe 文件的调用?

在 PowerShell 中开发脚本,我需要调用外部可执行文件 (.exe)。目前我正在使用 TDD 方法开发这个脚本,因此我需要模拟对这个 .exe 文件的调用。

我试试这个:

我得到了这样的回应:

有没有办法模拟这种调用而不将它们封装在函数中?

0 投票
1 回答
723 浏览

unit-testing - Pester 不模拟点源函数

我正在使用 Pester 测试一个 PowerShell 脚本,该脚本对另一个脚本进行点源。当我尝试模拟点源函数时,Pester 拒绝使用模拟版本。当我尝试通过将函数添加到 .psm1 文件并使用 Import-Module 而不是点源来获取函数时,我遇到了同样的问题。

这是一个复制我遇到的问题的示例。所有 3 个文件都在同一个文件夹中。

Foo.ps1

酒吧.ps1

Bar.tests.ps1

在模拟 Invoke-Foo 之后,结果应该是 'Banana',但结果是:

如何让 Pester 正确使用点源函数?

0 投票
1 回答
337 浏览

powershell - 对示例脚本的 Pester PowerShell 测试未按预期工作

大家好,我写了一个示例脚本来查找给定的字符串是否为回文,如下所示

这是我的.tests.ps1

下面是调用脚本

我没有得到预期的结果,有人可以告诉我哪里做错了吗

0 投票
2 回答
325 浏览

powershell - Pester PowerShell测试提示多次输入输入

我的.tests.ps1

在此处输入图像描述

0 投票
1 回答
154 浏览

mocking - 在纠缠中模拟 ac# dll 函数?

我正在为调用 ac# dll 函数的 Powershell 模块编写测试。示例:[Namespace]:: SomeMethod($param1, $param2) 关于如何在 Pester 测试中模拟此方法的任何想法?

0 投票
1 回答
95 浏览

powershell-3.0 - Pester 模拟一个改变输出的脚本

大家好,我已经编写了一个脚本来显示当前用户信息,我想编写应该模拟输出的 Pester 测试用例,如果我return在函数中没有,我怎么能为此编写测试

这是我返回时的测试用例

这适用于我的电脑,但是当我在其他电脑上执行相同的操作时,它会失败,所以我怎样才能让它独一无二

0 投票
2 回答
1519 浏览

function - 纠缠不调用模拟函数 - 我做错了什么?

我想模拟一个 .net 汇编函数。我试图将 .net 函数包装在一个 powershell 函数中,但 Pester 仍然调用该函数的原始实现---如何修复?这是我的测试:

在 SomeScript 中,我有一个这样的实现: