Jasmine 描述和开玩笑有什么区别?

Jasmine 描述和开玩笑有什么区别?,jasmine,jestjs,Jasmine,Jestjs,在Jest或Jasmine中编写单元测试时,何时使用descripe 您何时使用it 我通常这样做 description('我的饮料',()=>{ 测试('is delicious',()=>{ }); }); 什么时候开始一个新的descripe或一个新的it。根据您的测试策略,您可能对类中的每个函数、插件的每个模块或面向用户的每个功能都有一个描述 您还可以嵌套描述以进一步细分套件 它是执行单独测试的地方。您应该能够用一句话来描述每个测试,例如“设置半径时,它会计算面积”。您不应该能够进一

Jest
Jasmine
中编写单元测试时,何时使用
descripe

您何时使用
it

我通常这样做

description('我的饮料',()=>{
测试('is delicious',()=>{
});
});

什么时候开始一个新的
descripe
或一个新的
it
。根据您的测试策略,您可能对类中的每个函数、插件的每个模块或面向用户的每个功能都有一个描述

您还可以嵌套描述以进一步细分套件

它是执行单独测试的地方。您应该能够用一句话来描述每个测试,例如“设置半径时,它会计算面积”。您不应该能够进一步细分测试——如果您觉得有必要,请使用
description

description('Circle class',function()){
description('面积是在',函数()时计算的){
它('设置半径',函数(){…});
它('设置直径',函数(){…});
它('设置周长',函数(){…});
});
});

我认为这更多的是对测试输出的影响。通过使用descripe或多级descripe,您可以对输出进行分组以提高可读性。

正如我在本文中提到的,
descripe
用于分组,
it
用于测试

正如jest文档所说,
test
it
是相同的:

测试(名称、fn、超时)

别名下还有:it(名称、fn、超时)

description
仅适用于您希望将测试分组的情况:

描述(名称,fn)

descripe(name,fn)
创建一个块,将几个相关测试分组在一起。例如,如果您有一个
myBeverage
对象,它应该是美味而不是酸味的,那么您可以使用以下方法对其进行测试:

const myBeverage={
美味:没错,
酸:错,
};
描述(‘我的饮料’,()=>{
测试('is delicious',()=>{
期待(myBeverage.delicious);
});
测试('不是酸的',()=>{
期待(我的饮料。酸味的);
});
});
这不是必需的-您可以直接在顶层编写测试块。但是,如果您喜欢将测试组织成小组,那么这将非常方便