この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

テスト

Salesforce アプリケーションのソースコードへの変更をテストする準備ができたら、Salesforce DX CLI から Apex テストを実行できます。Apex テストがスクラッチ組織で実行されます。

Jenkins などのサードパーティの継続的インテグレーションツール内からも CLI コマンドを実行して Apex テストを実行できます (force:apex:test:run)。

コマンドラインから Apex テストを���行する手順は、次のとおりです。

1sfdx force:apex:test:run

このコマンドは、すべての Apex テストをスクラッチ組織で非同期に実行し、その後、ジョブ ID を出力します。ID を force:apex:test:report コマンドに渡すと結果を参照できます。結果には、個別のテストの結果、各テストの実行にかかった時間、全体的な合格と失敗の割合が含まれます。

1sfdx force:apex:test:report --testrunid 7074C00000988ax

1 つのクラスからテストを同期実行するには、--synchronous パラメータを使用します。このコマンドでは、テスト結果は、すべてのテストが完了するまで表示されません。

1sfdx force:apex:test:run --synchronous --classnames TestA

パラメータを使用すると、実行するテストクラスやテストスイートをリストしたり、出力形式を指定したり、コードカバー率の結果を表示したり、その他さまざまなことができます。たとえば、次のコマンドは、TestA および TestB テストクラスを実行し、結果を Test Anything Protocol (TAP) 形式で出力し、コードカバー率の結果を要求します。

1sfdx force:apex:test:run --classnames TestA,TestB --resultformat tap --codecoverage

標準表記 Class.method を使用して特定のテストメソッドを実行するには、--tests パラメータを使用します。管理パッケージをテストする場合は、namespace.Class.method を使用します。メソッドなしでテストクラスを指定すると、コマンドはそのクラス内のすべてのメソッドを実行します。次の例は、TestA クラスの 2 つのメソッドと TestB クラスのすべてのメソッドを実行する方法を示します。

1sfdx force:apex:test:run --tests TestA.excitingMethod,TestA.boringMethod,TestB

次は、同じ例ですが名前空間が指定されています。

1sfdx force:apex:test:run --tests ns.TestA.excitingMethod,ns.TestA.boringMethod,ns.TestB

force:apex:test:run には --tests または --classnames のどちらかを指定できますが、両方は指定できません。