2017-09-12 19 views

回答

1

阅读本希望你会知道你的答案。

sepc.js约(如何茉莉花测试JavaScript代码的行为驱动开发框架工程)

它主要有两个功能

套房describe你的测试

测试套件以调用全局Jasmine函数开始 desc ribe有两个参数:一个字符串和一个函数。字符串是一个 名称或标题套件 - 通常是什么正在测试。 函数是一个实现该套件的代码块。

规格

功能是通过调用全局茉莉花功能吧,这, 像describe将一个字符串的函数定义。该字符串是规范的标题 ,功能是规范或测试。规范包含一个测试代码状态的 或更多期望。 Jasmine中的期望 是一个断言,无论是真是假。与 所有真正的期望规范是通过规范。具有一个或多个虚假 期望的规范是一个失败的规范。

describe("A suite", function() { 
    it("contains spec with an expectation", function() { 
    expect(true).toBe(true); 
    }); 
}); 

它只是功能

由于describeit块的功能,它们可以包含必要实施测试任何 可执行代码。应用JavaScript范围 规则,因此在describe中声明的变量可用于套件内的任何 it块。

有关详细信息,你可以看到this link

0

it是具有逻辑的实际测试。 describe是一个测试容器,它允许您将测试分为多个部分。 describe块可以换作用于应用程序的相同部分或有共同之处测试,例如:

describe('Menu tests', function() { 
    it('should open menu', function() { 
    }); 
    it('should select menu', function() { 
    }); 
    it('should close menu', function() { 
    }); 
}); 

describe暴露了几个功能,例如我们:

  • beforeAll - 运行前第一次测试。
  • beforeEach - 在每次测试之前运行。

还有更多。

it不能或至少不应包含describeit块内部本身,而describe应该包含it块以及辅助块(例如beforeAll)。

0

它是BDD接口(行为驱动开发)。

describe用于描述一个动作。可以使用顶级描述来描述整个套件,并且可以使用一个可以被扫描的单词。

describe("getUser", function() { 
    ... 
}); 

it块仅包含上的对象的断言定义了闭合范围。

it("should have status code 200", function() { 
    assert.equal(res.statusCode, 200, "statusCode is not 200") 
}); 
+0

我的疑问是明确的。谢谢你,但我还有一个问题是,有多少it()我们可以写最大的描述? –

相关问题