- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试评估 Invoke-Command
被调用了一次。
脚本.ps1
Get-Job | Remove-Job
Invoke-Command -ScriptBlock {'test'} -ComputerName localhost -AsJob
Wait-Job
Get-Job | Reveive-Job
Describe 'Test' {
Mock Invoke-Command {
# Mock here
}
It 'should be green' {
."$here\$sut" @Params
Assert-MockCalled -CommandName Invoke-Command -Times 1 -Exactly -Scope It
}
}
Wait-Job
将抛出一个错误,表明它没有收到作业对象。
Pester
中模拟 PowerShell 作业对象?
最佳答案
一种解决方案可能是使用 Mock
Invoke-Command 仍然会创建一个合法的作业,但会执行一些您认为安全的脚本/代码以进行测试。
为此,您需要先输入 Invoke-Command
cmdlet 以便您可以通过该变量使用它(因为 Mock
不能直接调用它自己的命令)。
例如:
$InvokeCommand = Get-Command Invoke-Command
Mock Invoke-Command {
& $InvokeCommand -ScriptBlock {'some safe alternative code'} -ComputerName localhost -AsJob
}
关于powershell - 如何模拟 Pester 的工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51360568/
我正在尝试为我的 Azure 自动化 Runbook 编写 Pester 测试。 Runbook 脚本使用 Get-AutomationVariable cmdlet,我尝试通过以下方式模拟它: mo
我正在尝试为我的 Azure 自动化 Runbook 编写 Pester 测试。 Runbook 脚本使用 Get-AutomationVariable cmdlet,我尝试通过以下方式模拟它: mo
我有一套 pester测试使用 v4.0+ should 运算符 -FileContentMatch 的 PowerShell 模块。当这些测试在装有较早 v3.x 版本 pester 的机器上运行时
function Palindrome1 { [CmdletBinding()] param ( [Parameter(Mandatory)] [str
我们正在编写 Pester 测试来测试 Azure 资源组是否包含某些标签。以下是脚本,不幸的是,即使我们正在检查的特定资源组不包含某些标签(来自定义的数组),Pester 测试也没有报告任何失败。
我正在尝试使用Pesters TestDrive为自定义文件管理Powershell函数创建测试。 但是,我没有让它以任何方式运行,总是会收到TestDrive不存在的错误。 即使使用文档中的示例:h
我正在测试 PowerShell 脚本。我想在不执行整个脚本的情况下测试单个函数。我不确定这是预期的用例还是受支持的,并且我在网上搜索时找不到好的答案 sut.ps1: Param( [Par
我们正在编写 Pester 测试来测试 Azure 资源组是否包含某些标签。以下是脚本,不幸的是,即使我们正在检查的特定资源组不包含某些标签(来自定义的数组),Pester 测试也没有报告任何失败。
当我运行以下纠缠测试时,我希望它能够捕获预期的错误,但它没有。但是,当我使用不同的 throw 语句使用不同的函数运行测试时,它会起作用。 纠缠测试: Describe "Remove-Generic
如何unmock 以前模拟的函数?有时我发现自己处于一种情况,我想测试我之前mocked 的函数。 一个简化的例子: Describe 'Pester mocking' { $testFile
我们正在尝试评估 Invoke-Command被调用了一次。 脚本.ps1 Get-Job | Remove-Job Invoke-Command -ScriptBlock {'test'} -Com
Invoke-Pester命令可以使用 -Script 调用带有显式参数的单个测试脚本。范围。但是如果我想将相同的参数传递给所有的测试脚本呢? 我不想在循环中调用 peter,因为我希望它生成单个测试
我有一个 Pester 脚本,正在为我的 API 运行一些冒烟测试。当我运行 Invoke-Pester 时,我得到了 Logo 并且测试运行良好。但是在日志的末尾我得到 Tests Passed:
我们正在努力让 Pester 测试失败或通过,这取决于 array 中的 objects 是否相等。 测试.ps1 #require Assert #require Pester $Expected
我想知道为什么在运行此脚本时会出现以下行为。我在 PowerShell ISE(v4 主机)中加载了脚本并加载了 Pester 模块。我按 F5 运行脚本。 function Test-Pester
我正在尝试找出如何对缺少的参数进行 Pester 测试: Find-Waldo.Tests.ps1 $here = Split-Path -Parent $MyInvocation.MyCommand
在 nUnit 中,我们可以这样做: Expect(actualColleciton, EquivalentTo(expectedCollection)); 和 Expect(actualCollec
我有很多模块,包括 ModuleMain 和 ModuleSql。模块之间存在相互依赖性,因此 ModuleMain 中的 Main-Function 使用了 ModuleSql 中的 4 个函数:
我正在使用 Pester 测试一个 PowerShell 脚本,该脚本点源另一个脚本。当我尝试模拟点源函数时,Pester 拒绝使用模拟版本。当我尝试通过将函数添加到 .psm1 文件并使用 Impo
编辑 问题的症结在于:如何访问在我的 It block 中的 BeforeDiscovery block 中声明的变量,这些变量没有被it -foreach $var 构造? 我很难适应 Pester
我是一名优秀的程序员,十分优秀!