跳到主要内容
版本:26.倍

这个整体

在测试文件中,Jest将这些方法和对象都放到全局环境中。您不必需要或导入任何东西来使用它们。但是,如果您喜欢显式导入,也可以这样做从'@jest/globals'中导入{describe, expect, test}

Metode#


参考#

追随(FN,超时)#

在此文件中的所有测试都完成后运行一个函数。如果函数返回承诺或是生成器,则Jest等待该承诺在继续之前解析。

您还可以提供超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

举例说明:

举例说明:

const GlobalDatabase. = makeGlobalDatabase ( ) ;
功能 cleanUpDatabase ( db ) {
db 清理 ( ) ;
}
毕竟 ( ( ) = > {
cleanUpDatabase ( GlobalDatabase. ) ;
} ) ;
测试 ( “能找到的东西” , ( ) = > {
返回 GlobalDatabase. ( “东西” , { } , 结果 = > {
预计 ( 结果 长度 ) tobegreathan ( 0 ) ;
} ) ;
} ) ;
测试 ( '可以插入某物' , ( ) = > {
返回 GlobalDatabase. 插入 ( “东西” , makething. ( ) , 响应 = > {
预计 ( 响应 成功 ) Tobeththy. ( ) ;
} ) ;
} ) ;

înCazulîncare毕竟Este în interiorul unui集团描述, se va executa la sfârşitul blocului。

Dacă doriţi să rulaţi ceva logică de curățare după功能测试,如după功能测试,功能测试afterEachînChimb。

Dacă doriţi să rulaţi ceva logică de curățare după功能测试,如după功能测试,功能测试afterEachînChimb。

追随者(FN,超时)#

在此文件中的每一个测试完成后运行函数。如果函数返回承诺或是生成器,则Jest等待该承诺在继续之前解析。

您还可以提供超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

举例说明:

举例说明:

const GlobalDatabase. = makeGlobalDatabase ( ) ;
功能 cleanUpDatabase ( db ) {
db 清理 ( ) ;
}
afterEach ( ( ) = > {
cleanUpDatabase ( GlobalDatabase. ) ;
} ) ;
测试 ( “能找到的东西” , ( ) = > {
返回 GlobalDatabase. ( “东西” , { } , 结果 = > {
预计 ( 结果 长度 ) tobegreathan ( 0 ) ;
} ) ;
} ) ;
测试 ( '可以插入某物' , ( ) = > {
返回 GlobalDatabase. 插入 ( “东西” , makething. ( ) , 响应 = > {
预计 ( 响应 成功 ) Tobeththy. ( ) ;
} ) ;
} ) ;

înCazulîncareafterEachEste în interiorul unui集团描述,我们将在国内进行după详细的测试。

Dacīdoriţisărulaţicearogi rulaare doar osingurýdeată,dupăecuţiatuturor testelor,uterizaţi毕竟înChimb。

Dacīdoriţisărulaţicearogi rulaare doar osingurýdeată,dupăecuţiatuturor testelor,uterizaţi毕竟înChimb。

Beforeall(FN,超时)#

在此文件中的任何测试运行之前运行函数。如果函数返回一个承诺或是一个生成器,则Jest将在运行测试之前等待该承诺解决。

您还可以提供超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

举例说明:

举例说明:

const GlobalDatabase. = makeGlobalDatabase ( ) ;
beforeAll ( ( ) = > {
//清除数据库并添加一些测试数据。
// Jest将在运行测试之前等待此承诺解决。
返回 GlobalDatabase. 清晰的 ( ) 然后 ( ( ) = > {
返回 GlobalDatabase. 插入 ( { testData : 'foo' } ) ;
} ) ;
} ) ;
//因为我们在这个例子中只设置了一次数据库,所以它很重要
//我们的测试不会修改它。
测试 ( “能找到的东西” , ( ) = > {
返回 GlobalDatabase. ( “东西” , { } , 结果 = > {
预计 ( 结果 长度 ) tobegreathan ( 0 ) ;
} ) ;
} ) ;

AICI.beforeAllasigurăcăbazadeated este setatăînaintede rula testele。如果设置是同步的,则可以没有beforeAll。Cheia este că Jest va aştepta pentru un Promise să se resolve, astfel încât puteţi avea o configurare asincronă, de asemenea。

DACăDORIţISăRULAţICEVA逻辑ÎnainteaFiecărui测试,NUÎnaintedeateTisele,SE Poate UterizabeforeEachînChimb。

DACăDORIţISăRULAţICEVA逻辑ÎnainteaFiecărui测试,NUÎnaintedeateTisele,SE Poate UterizabeforeEachînChimb。

前言(FN,超时)#

在运行此文件中的每个测试之前运行一个函数。如果函数返回一个承诺或者是一个生成器,Jest将在运行测试之前等待那个承诺的解析。

您还可以提供超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

举例说明:

举例说明:

const GlobalDatabase. = makeGlobalDatabase ( ) ;
beforeEach ( ( ) = > {
//清除数据库并添加一些测试数据。
// Jest将在运行测试之前等待此承诺解决。
返回 GlobalDatabase. 清晰的 ( ) 然后 ( ( ) = > {
返回 GlobalDatabase. 插入 ( { testData : 'foo' } ) ;
} ) ;
} ) ;
测试 ( “能找到的东西” , ( ) = > {
返回 GlobalDatabase. ( “东西” , { } , 结果 = > {
预计 ( 结果 长度 ) tobegreathan ( 0 ) ;
} ) ;
} ) ;
测试 ( '可以插入某物' , ( ) = > {
返回 GlobalDatabase. 插入 ( “东西” , makething. ( ) , 响应 = > {
预计 ( 响应 成功 ) Tobeththy. ( ) ;
} ) ;
} ) ;

înCazulîncarebeforeEachEste în interiorul unui集团描述,Se VaExecutaînaintede Fiecare测试DINENTIONUL BLOCULUI。

Dacă aveţi nevoie doar să rulați配置文件singură dată, înainte测试文件,utilizaţibeforeAll

Dacă aveţi nevoie doar să rulați配置文件singură dată, înainte测试文件,utilizaţibeforeAll

描述(名称、fn)#

描述(名称、fn)创建将几个相关测试分组在一起的块。举个例子,dacă aveţi un objectmyBeverage,护理SE Pareuune A Fi Delicios,Dar Nu Acru,AïiPtea测试母早卢尔ÎnFelulUrmător:

const myBeverage = {
可口的 : 真的 ,
酸的 : ,
} ;
描述 ( “我的饮料” , ( ) = > {
测试 ( '美味' , ( ) = > {
预计 ( myBeverage 可口的 ) Tobeththy. ( ) ;
} ) ;
测试 ( “不是酸” , ( ) = > {
预计 ( myBeverage 酸的 ) 吐痰 ( ) ;
} ) ;
} ) ;

这不是必需的 - 你可以写下测试直接在顶层的块。但是,如果您希望将测试组织成组,这可能很方便。

Puteţi, asemenea, blobrica blouri描述în cazul în care aveţi o ierarhie de teste:

const binaryStringToNumber = binString = > {
如果 ( ! / ^ [01] + $ / 测试 ( binString ) ) {
新的 CustomError ( “不是二进制数。” ) ;
}
返回 释放 ( binString , 2 ) ;
} ;
描述 ( 'biniarstringtonumber' , ( ) = > {
描述 ( '给定一个无效的二进制字符串' , ( ) = > {
测试 ( '由非数字组成抛出CustomError' , ( ) = > {
预计 ( ( ) = > binaryStringToNumber ( 'abc' ) ) toThrowError ( CustomError ) ;
} ) ;
测试 ( '用额外的空白抛出CustomError' , ( ) = > {
预计 ( ( ) = > binaryStringToNumber ( “100” ) ) toThrowError ( CustomError ) ;
} ) ;
} ) ;
描述 ( '给定一个有效的二进制字符串' , ( ) = > {
测试 ( '返回正确的数字' , ( ) = > {
预计 ( binaryStringToNumber ( '100' ) ) 托比 ( 4 ) ;
} ) ;
} ) ;
} ) ;

sefyage.each(表)(姓名,fn,超时)#

使用describe.each如果您继续使用不同的数据复制相同的测试套件。describe.each允许您一次性编写测试套件并传入数据。

describe.each有两个API:

1。sefyage.each(表)(姓名,fn,超时)#

  • 表格:大批与传递到的参数的阵列fn为每一行。
    • 请注意如果您通过1D数组的基元,则内部将映射到表I.E.[1, 2, 3] -> [[1], [2], [3]]
  • 名称:字符串测试套件的标题。
    • 通过位置注入参数生成唯一的测试标题Printf.格式化:
      • % p-漂亮格式
      • % s- 细绳。
      • % d——数字。
      • %我- 整数。
      • % f—浮点值。
      • % j- json。
      • %啊——对象。
      • % #-测试用例索引。
      • % %- 单百分号('%')。这不会消耗参数。
  • fn:功能要耗尽的测试套件,这是将在每个行中接收参数的函数参数。
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

描述 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
测试 ( 返回 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( 返回值不能大于 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 不是 tobegreathan ( 预期的 ) ;
} ) ;
测试 ( 返回值不能小于 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 不是 toBeLessThan ( 预期的 ) ;
} ) ;
} ) ;

2。Devely.evelable`(姓名,fn,超时)#

  • 表格:标记的模板文字
    • 第一行变量名列标题用分隔|
    • 作为模板文字表达式提供的一个或多个后续数据行$ {value}语法。
  • 名称:字符串测试套件的标题,使用$变量将测试数据从标记的模板表达式注入套件标题。
    • 要注入嵌套的对象值,请使用您可以提供键入键入..$变量.path.to.value.
  • fn:功能要运行的测试套件,这是接收测试数据对象的函数。
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

描述 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( “a + b美元” , ( { 一个 , b , 预期的 } ) = > {
测试 ( 返回 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( 返回值不能大于 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 不是 tobegreathan ( 预期的 ) ;
} ) ;
测试 ( 返回值不能小于 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 不是 toBeLessThan ( 预期的 ) ;
} ) ;
} ) ;

describe.only(名称,fn)#

AveţiPosibilitateaSăulerizaţidescribe.onlyDacă doriţi să se execute UN singur bloc描述:

AveţiPosibilitateaSăulerizaţidescribe.onlyDacă doriţi să se execute UN singur bloc描述:

描述 只有 ( “我的饮料” , ( ) = > {
测试 ( '美味' , ( ) = > {
预计 ( myBeverage 可口的 ) Tobeththy. ( ) ;
} ) ;
测试 ( “不是酸” , ( ) = > {
预计 ( myBeverage 酸的 ) 吐痰 ( ) ;
} ) ;
} ) ;
描述 ( “我的其他饮料” , ( ) = > {
/ /……将被忽略
} ) ;

sefy.only.each(表)(姓名,fn)#

也在别名下:fdescribe.each(表)(姓名,fn)fdescribe.each``(姓名,fn)

使用sefy.only.each.如果您只想运行特定的数据驱动测试套件。

sefy.only.each.有两个API:

sefy.only.each(表)(姓名,fn)#

描述 只有 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
测试 ( 返回 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

sefy.only.each.”表格”(名称,fn)#

描述 只有 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
测试 ( '通过' , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

陈述(名称,fn)#

AveţiPosibilitateaSăulerizaţi陈述Dacă nu doriţi să se execute UN anumit bloc描述:

AveţiPosibilitateaSăulerizaţi陈述Dacă nu doriţi să se execute UN anumit bloc描述:

描述 ( “我的饮料” , ( ) = > {
测试 ( '美味' , ( ) = > {
预计 ( myBeverage 可口的 ) Tobeththy. ( ) ;
} ) ;
测试 ( “不是酸” , ( ) = > {
预计 ( myBeverage 酸的 ) 吐痰 ( ) ;
} ) ;
} ) ;
描述 跳过 ( “我的其他饮料” , ( ) = > {
/ /……将被忽略
} ) ;

使用陈述通常是临时注释掉测试块的更干净的替代方法。

describe.skip.each(表)(名称、fn)#

也在别名下:xdescribe.each(表)(姓名,fn)xdescribe。每个”表格”(名称,fn)

使用describe.skip.each.如果您想停止运行一组数据驱动的测试。

describe.skip.each.有两个API:

describe.skip.each(表)(名称、fn)#

描述 跳过 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
测试 ( 返回 $ { 预期的 } , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

describe.skip.each``(姓名,fn)#

描述 跳过 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
测试 ( '不会被跑' , ( ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

测试(名称、fn超时)#

也在别名下:它(姓名,fn,超时)

您在测试文件中所需要的是测试方法,该方法运行测试。例如,假设有一个函数inchesOfRain ()它应该是零。你的整个测试可以是:

测试 ( 没有下雨的 , ( ) = > {
预计 ( inchesOfRain ( ) ) 托比 ( 0 ) ;
} ) ;

Primul Argument Este Numele Testului;Al Doilea Argument EsteFuncţie护理ConţineAserţiunilepentru测试。第三个参数(可选)是超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

Notă: În cazul în care oPROMISIUNE ESTE REPTRINGATIN喧嚣测试, Jest va aştepta rezolvarea promisiunii înainte ca testul să se finalize。Jest va aştepta, de asemenea, și dacăpasaţi联合国争论lafuncţiade测试,numit deobicei完成。这是一个非常好的例子când testați callback-uri。Aflaţi cum să testați鳕鱼asincronAICI.

例如,让我们说fetchBeverageList ()返回一个应该解析为具有的列表的承诺柠檬在里面。Puteți testa acest lucu în felul următor:

测试 ( '有柠檬' , ( ) = > {
返回 fetchBeverageList ( ) 然后 ( 列表 = > {
预计 ( 列表 ) toContain ( “柠檬” ) ;
} ) ;
} ) ;

Chiardacōapelul pentru测试VA Returna Imediat,Testul Nu SE VA Finaliza DoarDupýRezolvareaProMisiunii。

test.croncrent(名称,fn,超时)#

也在别名下:它.CONCURRENT(名称,FN,超时)

使用test.concurrent.如果您希望测试并发运行。

笔记:test.concurrent.被认为是实验性的,明白吗在这里有关缺少功能和其他问题的详细信息

第一个参数是测试名;第二个参数是一个包含要测试的期望的异步函数。第三个参数(可选)是超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

test.crontrent('添加2个数字',异步()=> {
期望(5 + 3).toBe (8);
});
test.concurrent.('subtraction 2 numbers', async () => {
期待(5 - 3).Tobe(2);
});

注意:使用MaxConcurrency.在配置中,以防止Jest同时执行超过指定的测试量

test.concurrent.each(表)(姓名,fn,超时)#

也在别名下:it.concurrent.each(表)(名称、fn超时)

使用test.concurrent.each.如果您继续使用不同的数据复制相同的测试。test.each允许您一次编写测试并通过数据,测试全同步运行。

test.concurrent.each.有两个API:

1。test.concurrent.each(表)(姓名,fn,超时)#

  • 表格:大批数组的参数被传递到测试中fn为每一行。
    • 请注意如果您通过1D数组的基元,则内部将映射到表I.E.[1, 2, 3] -> [[1], [2], [3]]
  • 名称:字符串测试块的标题。
    • 通过位置注入参数生成唯一的测试标题Printf.格式化:
      • % p-漂亮格式
      • % s- 细绳。
      • % d——数字。
      • %我- 整数。
      • % f—浮点值。
      • % j- json。
      • %啊——对象。
      • % #-测试用例索引。
      • % %- 单百分号('%')。这不会消耗参数。
  • fn:功能要运行的测试,这是将接收每一行中的参数作为函数参数的函数,这必须是一个异步函数
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

测试 同时 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;

2。test.concurrent.each.”表格”(名称,fn,超时)#

  • 表格:标记的模板文字
    • 第一行变量名列标题用分隔|
    • 作为模板文字表达式提供的一个或多个后续数据行$ {value}语法。
  • 名称:字符串题名,使用$变量将测试数据从标记的模板表达式注入到测试标题中。
    • 要注入嵌套的对象值,请使用您可以提供键入键入..$变量.path.to.value.
  • fn:功能要运行的测试,这是接收测试数据对象的函数,这必须是一个异步函数
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

测试 同时 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;

test.concurrent.only.each(表)(名称、fn)#

也在别名下:it.concurrent.only.each(表)(姓名,fn)

使用test.concurrent.only.each如果您只想同时使用不同的测试数据运行特定测试。

test.concurrent.only.each有两个API:

test.concurrent.only.each(表)(名称、fn)#

测试 同时 只有 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , 异步 ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.only.each.”表格”(名称,fn)#

测试 同时 只有 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , 异步 ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.concurrent.skip.each.each(表)(姓名,fn)#

也在别名下:it.concurrent.skip.each(表)(名称、fn)

使用test.concurrent.skip.each如果要停止运行异步数据驱动测试的集合。

test.concurrent.skip.each有两个API:

test.concurrent.skip.each.each(表)(姓名,fn)#

测试 同时 跳过 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , 异步 ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.concurrent.skip.each``(姓名,fn)#

测试 同时 跳过 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , 异步 ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.each(表)(名称,fn,超时)#

也在别名下:一般(表)(名称、fn)它。每个'table”(名称、fn)

使用test.each如果您继续使用不同的数据复制相同的测试。test.each允许您编写一次测试并传入数据。

test.each有两个API:

1。test.each(表)(名称,fn,超时)#

  • 表格:大批数组的参数被传递到测试中fn为每一行。
    • 请注意如果您通过1D数组的基元,则内部将映射到表I.E.[1, 2, 3] -> [[1], [2], [3]]
  • 名称:字符串测试块的标题。
    • 通过位置注入参数生成唯一的测试标题Printf.格式化:
      • % p-漂亮格式
      • % s- 细绳。
      • % d——数字。
      • %我- 整数。
      • % f—浮点值。
      • % j- json。
      • %啊——对象。
      • % #-测试用例索引。
      • % %- 单百分号('%')。这不会消耗参数。
  • fn:功能要运行的测试,这是将接收每一行中的参数作为函数参数的函数。
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

测试 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;

2。test.each”表格”(名称,fn,超时)#

  • 表格:标记的模板文字
    • 第一行变量名列标题用分隔|
    • 作为模板文字表达式提供的一个或多个后续数据行$ {value}语法。
  • 名称:字符串题名,使用$变量将测试数据从标记的模板表达式注入到测试标题中。
    • 要注入嵌套的对象值,请使用您可以提供键入键入..$变量.path.to.value.
  • fn:功能要运行的测试,这是将接收测试数据对象的函数。
  • 您还可以提供超时(以毫秒为单位)用于指定在中止每一行之前等待多长时间。注意:默认超时为5秒。

例子:

测试 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;

test.only.(名称,fn,超时)#

也在别名下:它。(名称,fn,超时), 和fit(名称、fn超时)

在调试大型测试文件时,通常只需要运行测试的子集。您可以使用。只要要指定哪些测试是您希望在该测试文件中运行的测试。

您还可以提供超时(以毫秒为单位),用于指定在中止前等待多长时间。注意:默认超时为5秒。

例,să presupunem că aveți aceste teste:

测试 只有 ( “下雨了” , ( ) = > {
预计 ( inchesOfRain ( ) ) tobegreathan ( 0 ) ;
} ) ;
测试 ( “没有下雪” , ( ) = > {
预计 ( inchesofsnow. ( ) ) 托比 ( 0 ) ;
} ) ;

只有“下雨了”测试将在该测试文件中运行,因为它是与之一起运行的test.only.

通常您不会检查代码test.only.在源代码控制中——您可以使用它进行调试,并在修复了损坏的测试后将其删除。

test.only.each(表)(名称、fn)#

也在别名下:it.only.each(表)(姓名,fn),fit.each(表)(名称、fn),it.Only.Each`(姓名,fn)fit.each``(名字,fn)

使用test.only.each.如果希望仅运行具有不同测试数据的特定测试。

test.only.each.有两个API:

test.only.each(表)(名称、fn)#

测试 只有 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.only.each.”表格”(名称,fn)#

测试 只有 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ;
} ) ;
测试 ( '不会被跑' , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.skip(名称,fn)#

也在别名下:它。跳过(名称、fn),xit(名称,fn), 和xtest(名称、fn)

ATUNYICândLucrağiub b玛丽德鳕鱼,PuteţiGăsi,Uneori,联合国测试护理Este Tasterar Stricat DIN不同的动机。如果要跳过运行此测试,但您不想删除此代码,可以使用test.skip指定要跳过的测试。

例,să presupunem că aveți aceste teste:

测试 ( “下雨了” , ( ) = > {
预计 ( inchesOfRain ( ) ) tobegreathan ( 0 ) ;
} ) ;
测试 跳过 ( “没有下雪” , ( ) = > {
预计 ( inchesofsnow. ( ) ) 托比 ( 0 ) ;
} ) ;

Doar Testul“正在下雨”Va Rula,DeoareceCelălalt测试ese apelat Cutest.skip

您可以对测试进行注释,但通常使用它会更好一些test.skip因为它将保持缩进和语法突出显示。

test.skip.each(表)(姓名,fn)#

也在别名下:it.skip.each(表)(名称、fn),xit.each(表)(名称、fn),xtest.each(表)(名称、fn),it.skip。每个”表格”(名称,fn),——xit。每个”表格”(名称,fn)xtest.each``(姓名,fn)

使用test.skip.each如果要停止运行数据驱动测试的集合。

test.skip.each有两个API:

test.skip.each(表)(姓名,fn)#

测试 跳过 每个 ( (
( 1 , 1 , 2 ] ,
( 1 , 2 , 3. ] ,
( 2 , 1 , 3. ] ,
] ) ( ”。一个dd(%i, %i)' , ( 一个 , b , 预期的 ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.skip.each”表格”(名称,fn)#

测试 跳过 每个
a |B |预期的
$ { 1 } | $ { 1 } | $ { 2 }
$ { 1 } | $ { 2 } | $ { 3. }
$ { 2 } | $ { 1 } | $ { 3. }
( '返回$ a预期$ a增加$ b' , ( { 一个 , b , 预期的 } ) = > {
预计 ( 一个 + b ) 托比 ( 预期的 ) ; //将不会运行
} ) ;
测试 ( 会跑的 , ( ) = > {
预计 ( 1 / 0 ) 托比 ( ) ;
} ) ;

test.todo(姓名)#

也在别名下:它.Todo(姓名)

使用test.todo.当您计划编写测试时。这些测试将在结尾处的摘要输出中突出显示,以便您知道还需要做多少测试。

请注意:如果你提供了一个测试回调函数,那么test.todo.将抛出一个错误。如果您已经实现了测试,但是测试被破坏了,您不想让它运行,那么就使用它test.skip代替。

API.#

  • 名称:字符串测试计划的标题。

例子:

const 添加 = ( 一个 , b ) = > 一个 + b ;
测试 待办事项 ( " add应该是有关联的" ) ;