Meteor 1.3テストの概要

2061 ワード

原文住所:https://themeteorchef.com/blog/meteor-1-3-from-a-20-000-foot-view/
Meteor 1.3の新しいNPMサポートは、開発者がよりモジュール化されたアプリケーションを構築するのに役立ちますが、アプリケーションが私たちのニーズに従って動作することを保証できない場合は、意味がありません.新しい特性を開発し、コードを再構築し、これらの仕事に十分な自信を持つ必要があります.自動化テストは成功の鍵ですMeteor 1.3はモジュールのテストに公式の応答を与えた.開発者は、コードをより小さく、メンテナンスしやすい小さなセグメントに分割することができ、アプリケーションをより効率的にテストすることができます.
以前、Xolv.ioが開発したVelocityはMeteorアプリケーションをテストする公式ソリューションとして推奨されている.でもXolv.ioはVelocityの開発を中止し、公式テストツールの開発の責任をMDGに任せた.Meteorアプリケーションをテストする素晴らしいソリューションを提供しているように見えます.

テストはどのように動作しますか?


Meteor 1.3のテストファイルには、.tests.jsという特殊な接尾辞があり、どのフォルダでも使用できます.ここでは、以前のモジュールcat-stuff.jsに基づいて、簡単なユニットテストの例を示します.
import { mocha } from 'meteor/avital:mocha';
import { chai, assert } from 'meteor/practicalmeteor:chai';
import laserPointer from './cat-stuff.js';

describe( 'Cat Stuff', () => {
   it( 'draws a laser pointer\'s position as a number', () => {
     let laser = laserPointer();
     assert.typeOf( laser.position, 'number' );
   });
});

必要ではありませんが、ここではpracticalmeteor:chai拡張パッケージをテストファイルにインポートし、Chai assertion libraryを得ることができます.Mochaには独自のassertion libraryがありますが、一部の開発者はChaiを使用する傾向があります.彼らはすべて仕事を完成することができます!ここでは,laserPointer()法違反が1つのオブジェクトに戻ることを期待し,そのうちのpositionパラメータは数値タイプであり,Chaiのassert.typeOf()法を用いて,この点を確認することができる.

テストの実行方法


現在、テストは2つのステップで完了する必要があります.まず、いつものようにアプリケーションを実行します.
meteor

次に、別のポートでテストレポートを実行します(ここでは、実行ポートが3000であると仮定します).
meteor test --driver-package avital:mocha --port 3100

ブラウザはhttp://localhost:3100を開き、レポートがテストを示しているのを見ることができます.良いニュースは、ここのテストは応答式です.テストのコードやアプリケーションのコードを変更すると、テストは自動的に再実行されます.これはVelocityの方法と同様で、時間があれば、テストを公式ソリューションに従ってスムーズに移行することができます.
1.3-tests-demo.gif
The Meteor Guide’s(draft)article on testingは、ユニットテスト、統合テスト、検収テスト/エンドツーエンドテスト、負荷テストなど、多くの異なるタイプのテストのサポートについて説明します.現在、テストはMochaでしか書けませんが、将来的にはこれらの制限はありません.