初認識フロントエンドテスト4-karmaとmocha

2504 ワード

mocha


mochaの基礎使用については、前に予習したときに書いたmochaの基礎使用を参考にすることができます.ここでは,いくつかの基礎的なmochaの使い方とnodeモジュールにおけるassertのいくつかの一般的な方法をまとめた.
基礎テストの例
const assert = require('assert');

describe(' ', function() {
  it(' : 1 + 2 = 3', function() {
    //  
    const result = 1 + 2;
    //  
    assert.equal(result, 3);
  });
});

Mochaテストケースには、主に次のセクションが含まれています.
  • describe定義テストキット
  • it定義試験例(test case)
  • テストコード
  • 断言部
  • 説明:各テストファイルには、複数のテストキットとテスト例があります.mochaはnode環境だけでなく、ブラウザ環境でも実行できます.Nodeで実行してもnpm i mocha -gでmochaをグローバルにインストールし、コマンドラインでテスト例を実行してもokです.

    Karma


    karmaテストでよく使われるモジュールに基づいて

    モジュールのインストール

    #  
    npm install karma-cli -g
    npm install karma mocha karma-mocha --save-dev
    
    #  
    npm install should --save-dev
    npm install karma-chai --save-dev
    
    #  
    npm install karma-firefox-launcher --save-dev
    npm install karma-chrome-launcher --save-dev
    

    コンフィギュレーション


    ここでの構成は主にkarma.conf.jsの関連構成に注目している.karmaおよびmochaを使用する場合は、npm install karma-cli -gkarma-cliグローバルにインストールすることが望ましい.構成の詳細
    次の2つのフィールドに注意してください.
  • singleRun:値がtrueの場合、ブラウザがテストを実行すると自動的にブラウザウィンドウが閉じます.singleRunの値は、NODE_ENV変数をコマンドに追加するための実行環境で動的に値を割り当てることができます.
  • browsers:ブラウザ構成(複数のブラウザを構成可能);ブラウザが起動できない場合は、関連するブラウザの構成が必要です.ブラウザの起動時にブラウザの起動に失敗した場合は、--no-sandboxモードに設定する必要があります.
  • {
      "browsers": ["Chrome", "ChromeHeadless", "ChromeHeadlessNoSandbox"],
      "customLaunchers": {
        "ChromeHeadlessNoSandbox": {
          "base": "ChromeHeadless",
          "flags": ["--no-sandbox"]
        }
      }
    }
    

    または
    {
      "browsers": ["Chrome_travis_ci"],
      "customLaunchers": {
        "Chrome_travis_ci": {
          "base": "Chrome",
          "flags": ["--no-sandbox"]
        }
      }
    }
    

    アクセスTravis-CIリファレンス構成.フロントエンドテストがどのようにTravis-CIにアクセスするかについては、TestTravisCIプロジェクトを参照して、手順に従って説明します.
    sudo: required
    language: node_js
    node_js:
      - '8'
    before_script:
      - 'sudo chown root /opt/google/chrome/chrome-sandbox'
      - 'sudo chmod 4755 /opt/google/chrome/chrome-sandbox'
      - npm install mocha karma-cli -g
      - npm install
    script:
      - npm run test
    

    記事のインスタンスdemo
    文章のテストの道理karmaテストの枠組みの前世の今生を参考にします