JasmineJS - Verificação sequencial
Jasmine também fornece métodos diferentes para fornecer sequencialidade da saída JS. Os exemplos a seguir mostram como implementar a verificação sequencial usando Jasmine.
Conter()
toContain()os matchers nos fornecem a facilidade de verificar se algum elemento faz parte do mesmo array ou de algum outro objeto sequencial. O exemplo a seguir nos ajudará a entender a metodologia de trabalho do método Jasmine toContain (). Vamos adicionar o seguinte trecho de código criado anteriormentecustomerMatcherSpec.js Arquivo.
describe("Different Methods of Expect Block",function () {
it("The Example of toContain() method",function () {
expect([1,2, 3, 4]).toContain(3);
});
});
No exemplo acima, estamos verificando se 3 está presente nessa matriz ou não. Obtemos uma saída verde, pois 3 está presente na matriz.
No exemplo acima, vamos alterar o valor de 3 por 15 e executar a especificação novamente. Obteremos a seguinte tela vermelha, pois 15 não pertence ao array que estamos passando como parâmetro dessa função.
Estar perto de()
toBeCloseTo()matcher corresponde se o valor real está próximo do valor esperado. No exemplo a seguir, vamos modificar nossocustomerMatcherSpec.js arquivo e veja como isso realmente funciona.
describe("Different Methods of Expect Block", function () {
it("Example of toBeCloseTo()", function () {
expect(12.34).toBeCloseTo(12.3, 1);
});
});
No bloco Descrever acima, estamos verificando se o resultado real “12.3” está mais próximo da saída esperada “12.34” ou não. Como isso atende aos nossos requisitos, teremos a seguinte captura de tela verde como saída. O segundo parâmetro deste método é a contagem da casa decimal a ser comparada.
No código acima, vamos modificar o valor esperado para 15 e executar SpecRunner.html.
describe("Different Methods of Expect Block",function () {
it("Example of toBeCloseTo()", function () {
expect(12.34).toBeCloseTo(15, 1);
});
});
Nesse cenário, 15 não está nem perto de 15, portanto, ele gerará um erro e apresentará uma captura de tela vermelha como erro.
ToMatch ()
ToMatch()matcher funciona na variável do tipo String. É útil descobrir se uma string específica está presente na saída esperada ou não. Seguir é o que nossocustomerMatcherSpec.js parece.
describe("Different Methods of Expect Block",function () {
it("Example of toMatch()", function () {
expect("Jasmine tutorial in tutorials.com").toMatch(/com/);
});
});
Este pedaço de código testará se “com”está presente na string esperada fornecida. Comocom existe na string, ele irá gerar uma captura de tela verde e passar na condição de teste.
Agora, vamos mudar a saída para alguma outra string, que não está presente no valor esperado. Então nossocustomerMatcherSpec.js será semelhante ao seguinte.
describe("Different Methods of Expect Block",function () {
it("Example of toMatch()", function () {
expect("Jasmine tutorial in tutorials.com").toMatch(/XYZ/);
});
});
O código acima encontrará a string “XYZ” no valor esperado. Como não existe na string esperada, ocorrerá um erro e a tela de saída ficará vermelha de acordo.