Tesults-integrating-your-automated-tests

提供:Dev Guides
移動先:案内検索

Tesults-自動テストの統合

Tesultsは、さまざまな言語で統合できるライブラリを提供します。

  • Python
  • Node.js/JS
  • Java
  • C#
  • Ruby
  • Go

REST APIも利用できます。 テストで生成されたデータとファイルをアップロードするには、ライブラリの1つを使用する必要があります。

コード統合なし

一部のテストフレームワークでは、利用可能なテストフレームワーク固有のライブラリを使用して、コードなしで統合できます。

統合するコードを必要としないテストフレームワークには、次のものが含まれます-

  • pytest
  • ロボット
  • Jest
  • モカ
  • JUnit5
  • NUnit 3

統合プロセスは、これらのすべてのライブラリで同様です。

プラグインをインストール

テストプロジェクト内で、関連するTesultsプラグインをインストールします。 たとえば、pytestを使用している場合、これは ‘pip install tesults’ に続いて ‘pip install pytest-tesults’ を使用して行われます。 Mochaを使用している場合は、 ‘npm install mocha-tesults-reporter – save’ を使用します。 TesultsのWebサイトで、テストフレームワークに適したコマンドを参照してください。

プラグインの構成

一部のプラグインは構成を必要とせず、すぐに使用できる状態にあり、一部のプラグインは少量の構成を必要とします。 たとえば、pytestの場合、追加の構成は必要なく、すぐに使用できます。

Mochaの場合、 ‘mocha’ の呼び出しを少し変更する必要があります。具体的には、レポーターを指定する必要があります ‘mocha --reporter mocha-tesults-reporter’ 。 使用しているフレームワークの具体的な構成については、TesultsのWebサイトを参照してください。ただし、一般に、構成は1行で変更されるか、変更されません。

引数を渡す

プラグインに渡す必須の引数とその他のオプションの引数があります。 必要な引数は、Tesultsターゲットトークンを提供することです。 このトークンは、前のチュートリアルページのデフォルトターゲットのプロジェクト作成時に生成されました。 Tesultsの構成メニューからこのトークンがない場合は、新しいトークンを取得できます。 設定メニューで [ターゲットトークンの再生成] をクリックします。

引数を渡す方法は、テストフレームワークとプラグインによって異なります。 たとえば、pytestでは、pytest呼び出し ‘pytest --tesults-target token_value’ または設定ファイルを使用して提供できます。 Mochaの場合も同様です。 ‘mocha --reporter mocha-tesults-reporter-tesults-target = token’ *という名前のモカで渡すか、構成ファイルで渡すことができます。

ターゲットトークンは唯一の必須の引数です。ビルド情報を渡すため、およびファイルをアップロードするためのオプションの引数があります。 テストフレームワークの引数の具体的な情報については、TesultsのWebサイトを参照してください。

テストを実行する

テストを実行すると、結果がTesultsに送信されます。

コード統合

カスタムテストフレームワーク、またはTesultsに特定のライブラリまたはプラグインがないテストフレームワークを使用している場合は、いずれかの言語フレームワークを使用する必要があります。

ここでは、Pythonの統合に関係するものを見ていきます。 他の言語にも非常に似た統合プロセスがあります。プログラミング言語の具体的な詳細についてはTesultsのWebサイトを参照してください。ただし、最初にこのチュートリアルに従ってプロセスのアイデアを入手してください-

ライブラリをインストール

Pythonの場合、以下はコマンドです-

pip install tesults

他の言語の場合もプロセスは同様です。JSテストフレームワークの場合はnpmからライブラリをインストールし、Javaの場合はGradleまたはMavenを使用できます。C#の場合はパッケージがNuGetでホストされ、Rubyはgemとして使用できます。

ライブラリを構成する

Pythonの場合、構成には、ライブラリを使用する任意のモジュールの* require「テスト」*のみが含まれます。 この場合も、他の言語では同様の構成が必要です。 プログラミング言語の具体的な構成については、TesultsのWebサイトを参照してください。

テストデータのマッピング

このステップは、コードプラグインなしで回避できるものです。 コードベースの統合では、テストデータをTesultsテストデータにマップする必要があります。

Pythonの場合、これは各テストケースの結果をPython辞書に変換することを意味します-

{
   'name': 'Tutorial 1',
   'desc':'Tutorial 1 .',
   'suite': 'Tutorials Point',
   'result': 'fail',
   'reason': 'Assert fail in line 102, finddevguides.py',
   'files': ['full-path/log.txt', 'full-path/screencapture.png'],
   '_CustomField': 'Custom field value'
}

名前と結果は必須です。 他のすべてはオプションです。 結果は*「合格」、「失敗」*、または「不明」のいずれかである必要があります。

このスイートは、結果を表示するときにテストケースをグループ化し、名前の競合を回避するのに役立つため、提供すると便利です。 失敗したテストケースの理由を説明する必要があります。

ファイルは、ログやその他のテストファイルが保存されていることを確認するのに役立ち、それらが対象となっているテストケースと一緒に表示できます。

カスタムフィールドはいくつでも持つことができます。アンダースコア(_)文字で始まる必要があります。 テストケースごとに、この方法で辞書を作成し、配列に格納します。

結果をアップロード

結果をアップロードするために、各ライブラリには結果アップロード機能が用意されています。 Pythonの場合、次を呼び出す必要があります-

tesults.results(data)

データパラメータは次のとおりです-

data = {
   ‘target’: ‘token’,
   ‘results’: {
      ‘cases’: [<your test cases>]
   }
}

Cases配列は、上記のセクションで作成した配列です。

他のプログラミング言語の場合、プロセスは構文が変更されているだけでまったく同じです。

Help

TesultsのWebサイトには、必要に応じて統合のヘルプを要求する方法があります。

次のステップ

この時点で統合が完了し、テスト結果の表示、分析、および対処方法を確認できます。