unit-testing - 如何在powershell中进行TDD和单元测试?

标签 unit-testing powershell tdd pester

随着微软将 powershell 强加到所有新的服务器产品中,我开始(不情愿地)认为我需要认真对待它。 “认真对待”的一部分是 TDD。您是否找到了对 Power shell 脚本进行单元测试的好方法?

我从 Mr Geek Noise 找到了 mock 样本- 但我真的很喜欢 RhinoMocks 这样的东西。 Brian Hartsock有一个来自 MS Test 的对 powershell 字符串运行测试的示例。有点老套,但似乎有效。

我想要的是像“真实”语言一样干净的 Powershell TDD 体验。

<小时/>

更新以澄清:

前两个答案试图引导我放弃测试 Powershell。意见很有趣。我不想知道在 powershell 中测试是否是个好主意。这是一个主观问题,应该在不同的论坛上提出。我想要一个对 powershell 进行单元测试的解决方案。如果您认为这是一个坏主意(可能是),请将其视为一个有趣的学术问题。

  • 是的,脚本语言将不同的系统粘合在一起。然而,正如已经指出的,在动态语言中模拟和打破接缝也很容易。
  • 我不是在问“调试”。调试是一个非常有用的主题。我会让别人问一下。
  • 也许 PS 脚本应该很简单。该语言支持模块化,在 PS 中实现复杂的流程是不可避免的(即使是一个坏主意)。
  • 这个问题的答案不是“你不能”。我可以看到(从链接的博客 - 有点旧)有些人已经在这个问题上取得了进展。

重申一下:如何以 xUnit 的风格实现 Powershell 逻辑的自动化测试? 集成测试很有趣,而打破依赖关系的单元测试最有趣。

最佳答案

Scott Muc 启动了一个名为 Pester 的 PowerShell 轻量级 BDD 框架项目:

https://github.com/pester/Pester

关于unit-testing - 如何在powershell中进行TDD和单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940497/

相关文章:

java - Mockito 规则未应用

powershell - Copy-Item 将目录及其内容复制到 UNC 路径

ruby - 如何测试 Twilio 应用程序?

powershell - 如何在 PowerShell 中比较两个表的一列略有不同?

ruby-on-rails - 在 RSpec 中 - 我如何测试一个属性是否小于(或大于)另一个

unit-testing - 开发源代码的 TDD 方法

unit-testing - DART单元测试结果会追溯更改

javascript - 测试 Angular 服务内部方法调用

iOS 单元测试按钮已分配 Action

powershell - 使用 Import-CSV 时转换数据类型