在量角器中的spec.js文件中编写测试用例时,2个字段显示的是describe()和it()。究竟是什么用途以及何时使用?
// spec.js
describe('Protractor Demo App', function() {
it('should have a title', function() {
..
});
});
答案 0 :(得分:2)
通过阅读本希望你会知道你的答案。
spec.js
关于(如何 Jasmine 用于测试JavaScript代码的行为驱动开发框架如何工作)
它有两个主要功能
套件
describe
您的测试测试套件以调用全局Jasmine函数开始 用两个参数描述:字符串和函数。字符串是 规范套件的名称或标题 - 通常是正在测试的内容。该 function是一个实现套件的代码块。
<强>功能强>
通过调用全局Jasmine函数
it
来定义规范, 像describe
一样需要一个字符串和一个函数。字符串是标题 规范和功能是规范,或测试。规范包含一个 或者更多期望来测试代码的状态。期待 在Jasmine中是一个无论是真还是假的断言。一个规格 所有真正的期望都是过时的规范。带有一个或多个false的规范 期望是一个失败的规范。describe("A suite", function() { it("contains spec with an expectation", function() { expect(true).toBe(true); }); });
它的正常功能
由于
describe
和it
块是函数,因此它们可以包含任何块 实现测试所必需的可执行代码。 JavaScript范围 规则适用,因此describe
中声明的变量可供任何人使用 <{1}}阻止套件内部。
有关详细信息,请参阅this link
答案 1 :(得分: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
无法或至少不应在其内部包含describe
或it
块,而describe
应包含it
块以及帮助块(例如beforeAll
)。
答案 2 :(得分:0)
它的BDD接口(行为驱动的开发)。
describe
用于描述操作。顶级描述可用于描述整个套件,其中包含一个可以使用的单词。
describe("getUser", function() {
...
});
it
块只包含在闭包范围内定义的对象的断言。
it("should have status code 200", function() {
assert.equal(res.statusCode, 200, "statusCode is not 200")
});
答案 3 :(得分:0)
根据我的理解,describe
是对你的功能的描述,it
是你的步骤,并期望其功能。