共通の冗談


別の結果をテストするためにMatcherと呼ばれる何かを使っている冗談.
これらのmatchersは、基準が我々がそれを予想するかどうか決定するのに用いられることができます.
previous article 使いましたtoBeTruthy and toBeFalsy .
しかし、我々が活用することができる多くの異なるものがあります.この記事では、いくつかの一般的に使用されるものを見ていきます.

基本的なマッチ


最も簡単な形式では、toBe 何かを仮定するMatcherは“特定”の値にする必要があります.
例えば、
test('two plus two is four', () => {
  expect(2 + 2).toBe(4);
});
これは、我々は常に結果を4になると計算です.
同じことが文字列操作を決定するために使用することができます.
test('uppercase is correct', () => {
  expect('abc'.toUpperCase()).toBe('ABC');
});
また、オブジェクトが特定の形式であるかどうかを確認したい場合もあります.
このためには、toEqual チェック.
test('should modify a object', () => {
  const data = { foo: 'bar' };
  data['baz'] = 'fuu';
  expect(data).toEqual({ foo: 'bar', baz: 'fuu' });
});
もう一つのよく使用される方法は、特定の基準がもはや満たされないかどうかチェックすることです.
時々、我々は正確な出力を知りません、しかし、我々は結果が特定の何かであることを望みません.
我々がゼロであるさいころがあると言いましょう、そして、ロールで、それはゼロ以外の何でもなければなりません.
test('roll the dice', () => {
  let dice = 0;
  expect(rollDice(dice)).not.toBe(0);
});
配列の場合、配列に特定の要素が含まれているかどうかを確認したい場合があります.
そのためには、toContain テスト.
test('Dont forget the milk', () => {
  const shoppingList = ['coffee', 'eggs', 'milk'];
  expect(shoppingList).toContain('milk');
});

信頼性を決定する


我々が見たとき、我々は何かをチェックすることができますtrue or false , しかし、我々は余分なカップルを持ってtruthiness チェック.
  • toBeNull : 出力が正確ならnull
  • toBeUndefined : 出力が正確ならundefined
  • toBeDefined : 何でもundefined
  • toBeTruthy : 真実とみなされるもの
  • toBeFalsy : 誤っていると思われる何でも
  • これらは特定のアサーションをチェックするのに非常に良いです、そして、特に何かがこれらの1つでないことを確認するために.

    数で計算する


    これまで、我々は我々が利用できるのを見ましたtoBe を指定します.
    しかし、我々はさらに一歩を踏み出すことができ、さらにどの程度の数字が一致する必要があります決定します.
  • toBeGreaterThan : 特定の数より重要であるべきである
  • toBeGreaterThanOrEqual : 特定の数より大きいか等しい
  • toBeLessThan : ある数未満
  • toBeLessThanOrEqual : 特定の数以下の
  • toBeCloseTo : 浮動小数点数に対して特定の10進数に近い
  • 文字列正規表現


    多くの場合、特定の部分に基づいて文字列にマッチしたいだけです.
    我々は100 %の値の残りを知っていない可能性がありますように.
    このためには、toMatch . パラメータとして正規正規表現を使用します.
    test('Test for part of string', () => {
      expect('Christian').toMatch(/Chris/);
    });
    
    他の方法では、一部がこの文字列にないことを確認できます.
    test('Make sure nothing went wrong', () => {
      expect('Something went wrong, sorry').not.toMatch(/wrong/);
    });
    

    Note: The above will fail as we do have the word "wrong" in our test case


    しかし、もっと!


    これらはいくつかの基本操作ですが、使用する操作の完全なリストではありません.
    これらの多くは、画面上に要素が表示されているかどうかを判断するために超クールですので、我々はそれに後で取得します.
    どのテストを使いますか.

    読んでいただきありがとうございます、接続しましょう!


    私のブログを読んでくれてありがとう.私の電子メール会報を購読して、接続してくださいFacebook or