javascript - javascript上下文中TDD和BDD的区别

标签 javascript jasmine tdd karma-jasmine bdd

我无法区分 TDD 和 BDD。有人可以举一个简单的例子来说明使用 jasmine 在 javascript 上下文中的区别吗?

最佳答案

TDD(测试驱动开发) 流程从为每个功能开发测试开始。 TDD 过程需要遵循一些步骤。只要开发人员有更多功能要添加,这些步骤就会继续。

  • 编写测试
  • 运行测试
  • 重构
  • 添加测试
  • 查看测试失败

TDD 代码示例

suite('testName', function() {
  setup(function() {
    //create object (if need only)
  });
test('should Return Name', function (){
            //test function
        });

BDD(行为驱动开发) 几乎可以像句子一样阅读,并且更侧重于功能。

BDD 代码示例

describe("send Name", function(){ 

   it("should Return Name",function(){ 
      expect(sendName()).toEqual('ABC'); 
   }); 

})

TDD 与 BDD

执行 TDD 时出现一些问题

  • 从哪里开始
  • 需要测试多少
  • 了解测试失败的原因

上述问题的解决方案是BDD

TDD 描述系统如何工作。

BDD 描述最终用户如何使用系统

关于javascript - javascript上下文中TDD和BDD的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41867835/

相关文章:

javascript - Something = Something = Something...什么?

javascript - 如何依次运行 Protractor 套件?

javascript - Karma Jasmine 测试总是失败,并在第 9 行显示堆栈跟踪

tdd - 作为 "mockist"TDD的从业者,我应该模拟与被测方法在同一类中的其他方法吗?

Perl 单元测试——子例程可测试吗?

javascript - 如何在 nodejs 模块中监视类方法

php - Google Visualization API 中的逗号分隔数据

javascript - 同位素和灯箱,如何仅在灯箱中显示可见(过滤)图像

javascript - Jasmine :检查数组是否包含具有给定属性的元素

javascript - 使用哪种方法来访问页面 URL?