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

Apex テストの実行

ソースコードの変更をテストする準備ができたら、コマンドラインの Salesforce CLI あるいは VS Code 向け Salesforce 拡張機能を使用して、またはサードパーティの継続的インテグレーションツール (Jenkins、CircleCI など) から Apex テストを実行できます。
コマンドオプションの完全リストについては、「Salesforce CLI コマンドリファレンス」を参照してください。

すべての Apex テストの実行

次のコマンドは、スクラッチ組織のすべての Apex テストを非同期に実行します。実際のテスト結果が表示されるのではなく、force:apex:test:report コマンドが出力され、このコマンドを実行すると全結果が表示されます。

1sfdx force:apex:test:run

特定の Apex テストの実行

--testlevel を使用すると、テストのサブセットを実行できます。『Apex 開発者ガイド』「deploy について」に、使用可能なテストレベル値のリストが記載されています。

1sfdx force:apex:test:run --testlevel RunLocalTests

テストを同期実行する場合は、--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 のどちらかを指定できますが、両方は指定できません。

テスト結果の表示

force:apex:test:report コマンドを実行すると、結果が表示されます。結果には、個別のテストの結果、各テストの実行にかかった時間、全体的な合格と失敗の割合が含まれます。

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