9
我試圖在Powershell中實現RSpec/Jasmine像BDD框架(或者至少研究製作一個的潛在問題)。PowerShell - 在特定範圍內執行腳本塊
目前我在實現簡單的功能之前/之後有問題。鑑於
$ErrorActionPreference = "Stop"
function describe()
{
$aaaa = 0;
before { $aaaa = 2; };
after { $aaaa; }
}
function before([scriptblock]$sb)
{
& $sb
}
function after($sb)
{
& $sb
}
describe
輸出爲0,但我想它是2有沒有什麼辦法來實現它在PowerShell中(短腳本塊做$ AAAA全球,遍歷父作用域直到$ AAAA發現,使$ aaaa是一個「對象」和其他骯髒的黑客:))
我理想情況下是一種方法來調用一些其他範圍內的腳本塊,但我不知道它是否可能在所有。我在https://connect.microsoft.com/PowerShell/feedback/details/560504/scriptblock-gets-incorrect-parent-scope-in-module(請參閱解決方法)中找到了一個有趣的示例,但我不確定它是如何工作的,以及它是否以任何方式幫助我。
TIA
你看過Pester:https://github.com/scottmuc/pester – manojlds 2012-07-29 07:48:39
是的,它不像RSpec/Jasmine,可能是因爲上述問題。我對Pester的經驗非常有限,但恕我直言Pester是一個非常有限的框架,沒有之前/之前,沒有嵌套描述,破碎匹配器實現等。 – mbergal 2012-07-29 07:51:41
考慮貢獻然後:) – manojlds 2012-07-29 07:52:52