在Jest或Jasmine中编写单元测试时,何时使用describe?什么时候使用it?我通常都是这样
Jest
Jasmine
describe
it
describe('my beverage', () => { test('is delicious', () => { }); });
字符串什么时候需要新的describe或新的it?
0g0grzrc1#
describe将测试套件分解为组件。根据您的测试策略,您可能会对类中的每个函数、插件的每个模块或每个面向用户的功能块进行描述。您还可以嵌套描述以进一步细分套件。it是执行单个测试的地方。您应该能够像一个小句子一样描述每个测试,例如“它在设置半径时计算面积”。你不应该再进一步细分测试了--如果你觉得需要的话,可以使用describe。
describe('Circle class', function() { describe('area is calculated when', function() { it('sets the radius', function() { ... }); it('sets the diameter', function() { ... }); it('sets the circumference', function() { ... }); }); });
字符串
fae0ux8s2#
正如我在这篇文章中提到的question,describe用于分组,it用于测试。正如jest文档所说,test和it是相同的:https://jestjs.io/docs/en/api#testname-fn-timeout
test
test(name,fn,timeout)
别名:it(name,fn,timeout)而describe只是用于您希望将测试组织成组的情况:https://jestjs.io/docs/en/api#describename-fndescribe(name,fn)describe(name, fn)创建一个块,将几个相关的测试组合在一起。例如,如果你有一个myBeverage对象,它应该是美味的但不是酸的,你可以用以下方法测试它:
describe(name, fn)
myBeverage
const myBeverage = { delicious: true, sour: false, }; describe('my beverage', () => { test('is delicious', () => { expect(myBeverage.delicious).toBeTruthy(); }); test('is not sour', () => { expect(myBeverage.sour).toBeFalsy(); }); });
字符串这不是必需的-您可以直接在顶层编写测试块。但如果您希望将测试组织成组,这会很方便。
vnzz0bqm3#
我更多地从对测试输出的影响来考虑这一点。通过使用describe或多个级别的describe,您可以对输出进行分组以提高可读性。
anauzrmj4#
简单地说,describe是组,it或test实际上是单元测试。因此,describe可以嵌套在describe中,但it不能。
4条答案
按热度按时间0g0grzrc1#
describe
将测试套件分解为组件。根据您的测试策略,您可能会对类中的每个函数、插件的每个模块或每个面向用户的功能块进行描述。您还可以嵌套描述以进一步细分套件。
it
是执行单个测试的地方。您应该能够像一个小句子一样描述每个测试,例如“它在设置半径时计算面积”。你不应该再进一步细分测试了--如果你觉得需要的话,可以使用describe
。字符串
fae0ux8s2#
正如我在这篇文章中提到的question,
describe
用于分组,it
用于测试。正如jest文档所说,
test
和it
是相同的:https://jestjs.io/docs/en/api#testname-fn-timeouttest(name,fn,timeout)
别名:it(name,fn,timeout)
而
describe
只是用于您希望将测试组织成组的情况:https://jestjs.io/docs/en/api#describename-fndescribe(name,fn)
describe(name, fn)
创建一个块,将几个相关的测试组合在一起。例如,如果你有一个myBeverage
对象,它应该是美味的但不是酸的,你可以用以下方法测试它:字符串
这不是必需的-您可以直接在顶层编写测试块。但如果您希望将测试组织成组,这会很方便。
vnzz0bqm3#
我更多地从对测试输出的影响来考虑这一点。通过使用describe或多个级别的describe,您可以对输出进行分组以提高可读性。
anauzrmj4#
简单地说,
describe
是组,it
或test
实际上是单元测试。因此,
describe
可以嵌套在describe
中,但it
不能。