Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2)

Six BC-specific testing-domain knowledge articles in community/knowledge/testing/, each with .good.al/.bad.al samples:

- ui-calls-require-test-handlers
- tablerelation-requires-prerequisite-records
- handlers-enqueue-never-assert
- handlerfunctions-attribute-must-match-ui-path
- asserterror-needs-expectederror-and-code
- use-library-codeunits-for-test-fixtures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Jesper Schulz-Wedde 2026-06-29 16:10:17 +02:00
parent 24e62f5ec8
commit 6c02d68b4e
18 changed files with 500 additions and 0 deletions

View file

@ -0,0 +1,32 @@
codeunit 50407 "Test Handler Match Bad"
{
Subtype = Test;
// The path raises a Confirm AND a Message, but only the Confirm handler
// is listed. The Message has no handler -> unhandled-UI runtime abort.
// The mirror mistake listing a third handler the path never hits
// instead fails with "handler function was not executed".
[Test]
[HandlerFunctions('ConfirmHandlerYes')]
procedure PostWithConfirmAndMessage()
begin
RunPostingThatConfirmsAndMessages();
end;
local procedure RunPostingThatConfirmsAndMessages()
begin
if Confirm('Post this document?', false) then
Message('Posting completed.');
end;
[ConfirmHandler]
procedure ConfirmHandlerYes(Question: Text; var Reply: Boolean)
begin
Reply := true;
end;
[MessageHandler]
procedure PostMessageHandler(Message: Text)
begin
end;
}