首页 > 解决方案 > 使用 Karma 进行单元测试

问题描述

我开始学习 TDD,我想要一个关于如何测试这个基本功能的建议。我在函数中传递一个参数,如果参数是“l”,那么函数返回 true。

function leave(response){
  if(response === 'l'){
    return true
  }else{
    return false
  }
}

我就这样开始了,测试通过了,但这并不是它应该是的(我使用 var 而不是函数)。

 describe('When the response is l, leave() is true', function() {
    it('should return true', function() {
      var leave = true
      expect(leave).toBe(true)
    });
  });

标签: javascriptkarma-jasmine

解决方案


在 TDD 中,首先测试应该失败,然后您编写代码以使测试通过。

既然你已经有了你的功能,你的测试应该通过。

所以在你的情况下,你的测试应该是这样的:

 describe('When the response is l, leave() is true', function() {
    it('should return true', function() {
      var response = '1'
      expect(leave(response)).toBe(true)
    });
  });

推荐阅读