可以從/退出調用者函數JavaScript嗎?如何退出JavaScript中的調用者函數?
我們正在向我們的框架中添加測試方法,如果我們在斷言上有錯誤,我們想退出。
考慮下面的簡單示例代碼,我想的東西,將退出(相當於在做測試的回報)的方法Test123交換EXIT_TEST_THAT_CALLED_ME。
Assert = function (expectedTrue, comment) {
if(! expectedTrue) {
Log.Error(comment);
EXIT_TEST_THAT_CALLED_ME;
}
}
Test123 (...) {
var inputField = getInputField(".input");
Assert((inputField !== null), "Checking that we found an input field");
inputField.doSomething();
// This row will cause run time error if inputField is null
}
我已經試過
回報 - 當然不是作品,因爲它只能從斷言方法
arguments.callee.caller.return返回 - 不執行任何操作
參數。 callee.caller.return() - 沒有方法「返回」
注意
更改爲已具有此功能的測試框架並且哪裏一切都很好,這不是一個選項。 。:(
爲什麼不通過例外嗎? – 2013-03-28 10:05:20
@javapirate這就是我最終做的。似乎是最好的方法。 Tnx – 2013-04-02 08:13:24