テスト
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 7074C00000988ax1 つのクラスからテストを同期実行するには、--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.TestBforce:apex:test:run には --tests または --classnames のどちらかを指定できますが、両方は指定できません。