Nativescript-testing
NativeScript-テスト
テストは、アプリケーションの開発ライフサイクルにおいて非常に重要なフェーズです。 アプリケーションの品質を保証します。 注意深い計画と実行が必要です。 また、開発の最も時間のかかるフェーズです。 NativeScriptフレームワークは、アプリケーションの自動テストに対する広範なサポートを提供します。
テストの種類
一般に、アプリケーションをテストするには、3つのタイプのテストプロセスを使用できます。 彼らは次のとおりです-
単体テスト
単体テストは、アプリケーションをテストする最も簡単な方法です。 これは、コードの一部(一般的には関数)またはクラスのメソッドの正確性を保証することに基づいています。 しかし、それは実際の環境を反映しているわけではありません。 これは、バグを見つけるための最小のオプションです。
一般に、NativeScriptはJasmine、Mocha、ChaiおよびQUnitユニットテストフレームワークを使用します。
これを実行するには、最初に以下のコマンドを使用してプロジェクトで設定する必要があります-
tns test init
今、あなたは次の応答を得ます-
? Select testing framework: (Use arrow keys)
> jasmine
mocha
qunit
*_jasmine_* フレームワークを選択すると、画面は次のようになります-
? Select testing framework: jasmine
+ [email protected]
added 90 packages from 432 contributors and audited 11944 packages in 8.753s
+ [email protected]
added 2 packages from 1 contributor and audited 11946 packages in 7.299s
> [email protected] postinstall
/Users/workspace/NativeScript/NativeApp/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for
polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open
Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a
good job -)
npm WARN [email protected] requires a peer of webpack@^2.0.0
|| ^3.0.0 but none is installed. You must install peer dependencies yourself.
+ [email protected]
added 19 packages from 52 contributors and audited 12012 packages in 9.368s
+ [email protected]
added 2 packages from 35 contributors and audited 12014 packages in 6.925s
+ [email protected]
updated 1 package and audited 12014 packages in 7.328s
+ @types/[email protected]
> [email protected] postinstall/Users/deiva/workspace/NativeScript/NativeApp/node_modules/nativescript-unit
-test-runner
> node postinstall.js
+ [email protected]
added 1 package from 1 contributor and audited 12032 packages in 7.14s
Successfully installed plugin nativescript-unit-test-runner.
Example test file created in src/tests
Run your tests using the "$ tns test <platform>" command.
これで、テストファイルがsrc \ tests \ example.ts内に作成されます。
テストを作成する
以下に示すように、example.tsファイル内に簡単なテストを追加しましょう-
describe("NativeApp test:", function() {
it("Check counter.", function() {
expect(mainViewModel.createViewModel().counter).toEqual(10);
});
it("Check message.", function () {
expect(mainViewModel.createViewModel().message).toBe("10 taps left");
});
});
ここに、
まず、カウンターが10に等しいかどうかを確認し、メッセージが10タップ残っているかどうかを確認します。
次のステップでテストを実行してみましょう。
テストを実行する
今、以下のコマンドを使用して、AndroidまたはiOS接続デバイスのいずれかでテストを実行します-
tns test android
これは次のステータスを返します-
? To continue, choose one of the following options: (Use arrow keys)
> Configure for Cloud Builds
Configure for Local Builds
Configure for Both Local and Cloud Builds
Skip Step and Configure Manually
次に、以下のオプションを選択します-
? To continue, choose one of the following options: Configure for Local Builds
Running the setup script to try and automatically configure your environment.
These scripts require sudo permissions
.....
Androidシミュレータでテストスイートを実行するには、次のコマンドを実行します-
tns test android --emulator
これで、karmaサーバーはビルドを準備し、プロジェクトをデプロイします。
エンドツーエンド(E2E)テスト
単体テストは小さく、シンプルで高速なプロセスですが、E2Eテストフェーズには複数のコンポーネントが含まれ、アプリケーションのフローをカバーするように連携して機能します。 これは単体テストと統合テストでは達成できませんでした。
*NativeScript Appium* プラグインは、E2E自動化テストを実行するために使用されます。 さて、Appiumはモバイルアプリ用のオープンソーステストフレームワークです。 このフレームワークをプロジェクトに追加するには、最新バージョンのXCodeまたはAndroid SDK(25.3.0以上)が必要です。
Appiumをインストールする
npmモジュールを使用してAppiumをグローバルにインストールしましょう-
npm install -g appium
今、あなたは次の応答を見ることができました-
npm install -g appium
/Users/.npm-global/bin/authorize-ios ->
/Users/.npm-global/lib/node_modules/appium/node_modules/.bin/authorize-ios
> [email protected] install
/Users/.npm-global/lib/node_modules/appium/node_modules/appium-windows-driver
> node install-npm.js
Not installing WinAppDriver since did not detect a Windows system
> [email protected] postinstall/Users/.npm-
global/lib/node_modules/appium/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for
polyfilling JavaScript
standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock )
is looking for a good job -)
> [email protected] postinstall/Users/.npm-
global/lib/node_modules/appium/node_modules
/appium-chromedriver
> node install-npm.js
............................................
.............................................
+ [email protected]
added 671 packages from 487 contributors in 28.889s
プラグインを追加
以下のコマンドを使用して、 _ nativescript-dev-appium_ プラグインをdevDependencyとしてプロジェクトに追加しましょう-
$ npm install -D nativescript-dev-appium
これを実行した後、 _ mocha_ フレームワークを選択すると、次のような応答が得られます-
> node ./postinstall.js
? What kind of project do you use
? javascript ? Which testing framework do you prefer? mocha
+ [email protected]
これで、ファイルはプロジェクトフォルダー内に保存されます。
デバイスを構築する
以下のコマンドを使用してAndroidデバイスを構築しましょう-
tns build android
上記のコマンドは、ターゲットの機能を指定する必要があるテストを実行します。 iOSデバイスがある場合は、 _ iOS_ デバイスを使用してビルドできます。
テストを実行
これで、デバイスが構成されました。 以下のコマンドを使用してテストを実行しましょう-
npm run e2e -- --runType <capability-name>
ここに、
capability-nameは、アプリケーション e2e/config/appium.capabilities.json 内で定義されます。
出力
NativeScript-まとめ
NativeScriptは、余計な手間をかけずに非常に簡単な方法でアプリケーションを完全にテストできるWeb開発者向けの優れたモバイルアプリです。 開発者は自信を持って見栄えが良く、問題のないアプリケーションを短期間で開発できます。