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

Usando匹配器

所以,美国的“匹萨”可以告诉你você不同的值。Este documento dará uma introdução de algumas diretries de uso de matchers”。完成一个列表,veja<一个href="//www.ieatrice.com/pt-BR/docs/expect">预计API文档

匹配器缩写<一个class="hash-link" href="#matchers-comuns" title="#">#

我有一个简单的建议:é com igualade exata。

测试 ( “dois mais dois é quatro” , ( ) = > {
预计 ( 2 + 2 ) 托比 ( 4 ) ;
} ) ;

Nesse脏污,期望(2 + 2)我反对“期待”。Você正常não我们有一个期望的目标,我希望你能满足我的要求。Nesse脏污,.toBe (4)e o“匹配器”。我可以开玩笑é executado,我也可以做一个“matchers”的falharam para que possa imprimir作为mensagens de erro para você de uma form agradável。

托比Object.is我要给你一份吐司。请使用você对你的目标的英勇进行检查toEqual:

测试 ( “atribuicao de objeto” , ( ) = > {
常量 数据 = { 一个 : 1 } ;
数据 ( “两个” ] = 2 ;
预计 ( 数据 ) toEqual ( { 一个 : 1 , 两个 : 2 } ) ;
} ) ;

toEqual我们向你提出反对意见。

Você também pode testar o oposto de um“matcher”:

测试 ( 'adicionando números positivos não é zero' , ( ) = > {
( 一个 = 1 ; 一个 < 10 ; 一个 ++ ) {
( b = 1 ; b < 10 ; b ++ ) {
预计 ( 一个 + b ) 托比 ( 0 ) ;
}
}
} ) ;

Verdade<一个class="hash-link" href="#verdade" title="#">#

Em testes às vezes você精确区分中心未定义的,e, mas às vezes você não quer tratar estes de maneira diente。笑话contém辅助的许可você爵士explícito冷静的。

  • toBeNull此时一个apenas
  • toBeUndefined此时一个apenas未定义的
  • toBeDefinedé o对着我toBeUndefined
  • toBeTruthycom qualquer coisa que uma instrução如果trata科莫verdadeiro
  • toBeFalsycom qualquer coisa que uma instrução如果trata科莫falso

为什么exemplo:

测试 ( “nulo” , ( ) = > {
常量 n = ;
预计 ( n ) toBeNull ( ) ;
预计 ( n ) toBeDefined ( ) ;
预计 ( n ) toBeUndefined ( ) ;
预计 ( n ) toBeTruthy ( ) ;
预计 ( n ) toBeFalsy ( ) ;
} ) ;
测试 ( “零” , ( ) = > {
常量 z = 0 ;
预计 ( z ) toBeNull ( ) ;
预计 ( z ) toBeDefined ( ) ;
预计 ( z ) toBeUndefined ( ) ;
预计 ( z ) toBeTruthy ( ) ;
预计 ( z ) toBeFalsy ( ) ;
} ) ;

Você我们给você的地址和código faça的地址对应。

是高<一个class="hash-link" href="#números" title="#">#

maioria das de comparar números têm“matcher”等价物。

测试 ( “必须但是必须” , ( ) = > {
常量 价值 = 2 + 2 ;
预计 ( 价值 ) toBeGreaterThan ( 3. ) ;
预计 ( 价值 ) toBeGreaterThanOrEqual ( 3.5 ) ;
预计 ( 价值 ) toBeLessThan ( 5 ) ;
预计 ( 价值 ) toBeLessThanOrEqual ( 4.5 ) ;
// toBe e toEqual são equal para números
预计 ( 价值 ) 托比 ( 4 ) ;
预计 ( 价值 ) toEqual ( 4 ) ;
} ) ;

请使用长笛toBeCloseTo他们一旦德toEqual这只猪você não你的睾丸取决于你的睾丸的大小。

测试 ( adicionando números de ponto flutuante , ( ) = > {
常量 价值 = 0.1 + 0.2 ;
/ /期望(值).toBe (0.3);所以não是你的错误的原因
预计 ( 价值 ) toBeCloseTo ( 0.3 ) ; / /之funciona。
} ) ;

字符串<一个class="hash-link" href="#strings" title="#">#

Você pode verificar strings contra expressões regulares comtoMatch:

测试 ( “não exist I em team” , ( ) = > {
预计 ( “团队” ) toMatch ( / / ) ;
} ) ;
测试 ( “mas exist”stop“em Christoph” , ( ) = > {
预计 ( “Christoph” ) toMatch ( / 停止 / ) ;
} ) ;

数组e iteraveis<一个class="hash-link" href="#arrays-e-iteráveis" title="#">#

Você pode verificar se um array ou iterável contém um item específico usandotoContain:

常量 shoppingList = (
“尿布” ,
“纸巾” ,
的垃圾袋 ,
“纸巾” ,
“牛奶” ,
] ;
测试 ( “购物清单上有牛奶” , ( ) = > {
预计 ( shoppingList ) toContain ( “牛奶” ) ;
预计 ( ( shoppingList ) ) toContain ( “牛奶” ) ;
} ) ;

Excecoes<一个class="hash-link" href="#exceções" title="#">#

Se você quiser testar Se uma determinada função lança我的错误quando é chamada,使用toThrow

函数 compileAndroidCode ( ) {
错误 ( 'você está usando o JDK errado' ) ;
}
测试 ( “compilando para android segue conforme esperado” , ( ) = > {
预计 ( ( ) = > compileAndroidCode ( ) ) toThrow ( ) ;
预计 ( ( ) = > compileAndroidCode ( ) ) toThrow ( 错误 ) ;
// Você também我们的邮箱地址
预计 ( ( ) = > compileAndroidCode ( ) ) toThrow ( 'você está usando o JDK errado' ) ;
预计 ( ( ) = > compileAndroidCode ( ) ) toThrow ( / JDK / ) ;
} ) ;

注:a função que lança uma exceção precisa ser chamada dentro de uma função de embrulho, caso contrário a afirmaçãotoThrowfalhara。

E muito但是<一个class="hash-link" href="#e-muito-mais" title="#">#

Isto é só uma amostra。Para obter uma list complete de“matchers”,confirm a<一个href="//www.ieatrice.com/pt-BR/docs/expect">documentacao de referencia

您可以访问você您可以访问estão disponíveis,嗯próximo您可以访问é您可以访问você<一个href="//www.ieatrice.com/pt-BR/docs/asynchronous">证人的脏污assincrono