Jasmine 什么';“的意思是什么;它();茉莉花?

Jasmine 什么';“的意思是什么;它();茉莉花?,jasmine,Jasmine,我猜“it”是一个短语的缩写。但我不知道那是什么。每次当我看到这个函数时,我总是试图找出它的含义 有人能告诉我吗?Jasmine是一个用于行为驱动开发的测试框架。函数的目的是测试代码的行为 它需要一个解释预期行为的字符串和一个测试它的函数 it("should be 4 when I multiply 2 with 2", function() { expect(2 * 2).toBe(4); }); 它不是缩写,只是单词It 这允许在jasmine中编写非常有表现力的测试用例,并且如果您

我猜“it”是一个短语的缩写。但我不知道那是什么。每次当我看到这个函数时,我总是试图找出它的含义


有人能告诉我吗?

Jasmine是一个用于行为驱动开发的测试框架。函数的目的是测试代码的行为

它需要一个解释预期行为的字符串和一个测试它的函数

it("should be 4 when I multiply 2 with 2", function() {
  expect(2 * 2).toBe(4);
});

它不是缩写,只是单词
It

这允许在jasmine中编写非常有表现力的测试用例,并且如果您遵循该方案,则具有非常可读的输出

例如:

描述(“我的对象”、函数(){
它(“可以计算3+4”,函数(){
expect(myObject.add(3,4)).toBe(7);
}
});
然后,如果测试失败,输出将如下

Test failed: My object can calculate 3+4
Message: 
    Expected 6.99999 to equal 7
正如您所看到的,这个虚构的函数存在一些舍入错误。但关键是,结果输出非常可读和表达,代码也非常简单


代码中的基本方案是:描述要测试的单元,然后测试它的各种功能和状态。

Jasmine是一个BDD测试框架(行为驱动开发),不同于“标准”TDD(测试驱动开发)实际上,您正在针对应用程序的行为进行测试。 所以“it”指的是您正在测试的对象/组件/类/任何东西,而不是方法。 假设您正在为日历小部件编写一个测试,其中您希望测试一旦用户单击下一个箭头小部件更改显示的月份,您将编写如下内容:

   it('should change displayed month once the button is clicked', function(){
     // assertions
   });
testButtonArrowClickChangesDisplayedMonth()
因此,“”是您的日历小部件,您实际上是在说“一旦单击按钮,日历小部件应该更改显示的月份”。 在TDD中,它将类似于:

   it('should change displayed month once the button is clicked', function(){
     // assertions
   });
testButtonArrowClickChangesDisplayedMonth()
最终没有实际的区别,只是风格和可读性的问题。 Jasmine的测试是以非常详细的方式定义的,因此开发人员可以更好地理解测试的目的。

it('实际上比您想象的要简单得多)

it()

名称it是测试目标的代词,而不是 它通过连接函数使spec[abbr.for specification]更具可读性 将其命名并将参数描述作为完整的句子