[英]How to test AngularJs global variable using Jasmine
我有一個場景,我需要使用 Karma Jasmine 測試 controller 方法。 場景很簡單,
Angular代碼
var globalVariable = "startEapplication";
$scope.myMethod = function(request, response) {
if(globalVariable === "startEapplication" && request.customer) {
現在,我需要通過 null 而不是 startEapplication 進行負面場景測試。 基本上我需要從 Karma Jasmine 模擬全局變量。
無論如何要從 Karma Jasmine 修改 Angular 全局變量。
首先, globalVariable 不是 angular 全局變量,由於它是在 controller 內部聲明的,因此您將無法從規范本身訪問。
如果你想涵蓋我曾經遵循以下方法來測試私有變量的負面情況。
要測試負面情況,您可以聲明一個單獨的私有 object 並將其與 scope 關聯。
例子:
// Add the comment saying this should be only be accessed for unit test puropse
$scope._private_ = {
globalVariable : "startEapplication"
}
您還需要按照比較的方式進行更改,以便規范也指向相同的 object
if($scope._private_.globalVariable === "startEapplication")
現在你可以在你的規范中模擬這個全局變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.