2015-09-15 18 views
0

我寫了一個函數來檢查2個字符串是否是對方的字典。然後,我用茉莉花爲該函數編寫測試用例。我的checkAnagram功能有問題,因爲我的茉莉花測試失敗了。如何使用jasmine調試我的函數?

下一步是什麼?我如何使用茉莉花來調試我的功能?

Check this fiddle

var anagrams = { 
checkAnagram : function(string1, string2) { 
    var that = this; 
    var count1 = that.countLetters(string1); 
     var count2 = that.countLetters(string2); 
     var anagram = true; 
     for(var i in count1) { 

      if(count2[i] && count1[i]==count2[i]) { 
       anagram = true; 
      } else { 
       anagram = false; 
      } 
     } 
    return anagram; 

}, 
countLetters : function(str) { 
    var obj = {}; 
    for(var char in str) { 
     if(!obj[char]) { 
      obj[char]=1; 
     } else { 
      obj[char]++; 
     } 
    } 
    return obj; 
    } 
    } 

describe("Checks if strings are anagrams of each other", function(){ 
    it("Anagram checker works", function(){ 
     expect(anagrams.checkAnagram("god","dog")).toEqual(true); 
     expect(anagrams.checkAnagram("god","doge")).toEqual(false); 
    }); 

}); 
+1

我對Jasmine沒有什麼特別的瞭解 - 但是函數失敗了,因爲'doge'有更多的字母而不是'god',但迭代器只是迭代'god'的字母。如果你要檢查兩個輸入的長度是否相同,在for循環之前,你會很好。 – HPierce

+0

我同意HPierce。長度應該是你的第一次檢查。 – MBielski

+0

經過僅5分鐘的研究(請糾正我,如果我錯了),它看起來像Jasmine.js不打算調試_只是測試。所有的調試都是使用傳統的調試技術完成的,編寫調試指南遠遠超出了SO問題的範圍。 – HPierce

回答

1

如果你是使用卡瑪 - 轉輪,它不依賴於即使是從角隊的角度,你可以有鉻運行在調試模式下茉莉測試。 隨着karam通過單擊chrome窗口上的調試按鈕打開karma調試窗口,然後打開開發人員工具。 在來源你應該能夠看到茉莉花規格。這可能會有所不同,我看到它在base/src下。做你的斷點並重新加載頁面。鮑勃你的阿姨。

相關問題