2015-09-15 21 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下。做你的断点并重新加载页面。鲍勃你的阿姨。

相关问题