テストはデプロイできます。つまり、
Deployment Unit オブジェクトに含めることができます。
アプリケーションパイプラインを実行するサーバーから、サービスと Web アプリケーションが公開されている URL にアクセスできる限り、REST テストと Web UI テストをデプロイすべきではありません。しかし、ユニットテストや統合テストは HTTP 経由では実行されないため、デプロイされたアプリケーションに対してそれらを実行したい場合は、アプリケーションサーバーにテストをデプロイし、そこで実行する必要があります。
実行するテストを含めると、テストバイナリ、テストランナー、およびそれらの依存関係が、GX が生成するデプロイ成果物に含められます。テストの実行設定を含むファイルは GXtestExecutionData_Deploy.json と呼ばれ、デプロイユニットに含まれるすべてのテストとスイートを実行するようにビルドされます。
使用するジェネレーターとターゲット OS によって、テストを実行するために異なるコマンドを実行する必要があります:
GXtestRunner.exe GXtestExecutionData_Deploy.json
dotnet GXtestRunner.dll GXtestExecutionData_Deploy.json
GXtestDeploy.zip ファイルを展開し、生成されたファイルに応じて以下のようにします:
- jar: zip の内容をアプリケーションの lib ディレクトリーにコピーし、以下を実行します:
java -cp "*;classes/;modules/*" GXtestRunner GXtestExecutionData_Deploy.json
- war: zip の内容をアプリケーションのベースディレクトリーにコピーし、以下を実行します:
java -cp "*;classes;lib/*" GXtestRunner GXtestExecutionData_Deploy.json
実行が終了すると、TestResults.xml というファイルが、コマンドが実行されたのと同じディレクトリーに作成されます。そのファイルをパイプラインから取得し、使い慣れたファイル変換方式を使用して、JUnit 形式や Allure 形式に変換することができます。
この機能は
GeneXus 18 Upgrade 3 以降で利用できます。