diff --git a/packages/fx-core/src/component/driver/teamsApp/validateTestCases.ts b/packages/fx-core/src/component/driver/teamsApp/validateTestCases.ts index 4ffcf95ba8..520fb40c3e 100644 --- a/packages/fx-core/src/component/driver/teamsApp/validateTestCases.ts +++ b/packages/fx-core/src/component/driver/teamsApp/validateTestCases.ts @@ -333,7 +333,13 @@ export class ValidateWithTestCasesDriver implements StepDriver { private validateArgs(args: ValidateWithTestCasesArgs): Result { if (!args || !args.appPackagePath) { - return err(new InvalidActionInputError(actionName, ["appPackagePath"])); + return err( + new InvalidActionInputError( + actionName, + ["appPackagePath"], + "https://aka.ms/teamsfx-actions/teamsapp-validate-test-cases" + ) + ); } return ok(undefined); } diff --git a/packages/fx-core/tests/error/error.test.ts b/packages/fx-core/tests/error/error.test.ts index dae31b659e..095aaddd20 100644 --- a/packages/fx-core/tests/error/error.test.ts +++ b/packages/fx-core/tests/error/error.test.ts @@ -19,6 +19,7 @@ import { assembleError, FilePermissionError, InternalError, + InvalidActionInputError, matchDnsError, UnhandledError, UnhandledUserError, @@ -177,6 +178,12 @@ describe("Errors", () => { assert.isTrue(e1 instanceof InvalidYamlSchemaError); assert.isTrue(e2 instanceof InvalidYamlSchemaError); }); + it("InvalidActionInputError", async () => { + const e1 = new InvalidActionInputError(".", []); + const e2 = new InvalidActionInputError(".", [], "https://aka.ms/teamsfx-actions"); + assert.isTrue(e1 instanceof InvalidActionInputError); + assert.isTrue(e2 instanceof InvalidActionInputError); + }); }); describe("BaseComponentInnerError", () => {