Shared test conventions for all testing agents in the Lichtblick repo. Defines GWT pattern, core quality rules, and the standard test-writing workflow.
71%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.github/skills/test-conventions/SKILL.mdApplies to all test agents (unit tests, E2E tests).
Every test body must include GWT section comments.
/**
* GIVEN a .mcap file is loaded
* WHEN play button is clicked
* THEN playback time should advance
*/
test("should start playing when clicking on Play button", async ({ mainWindow }) => {
// Given
await loadFiles({ mainWindow, filenames: "example.mcap" });
const button = mainWindow.getByTestId("play-button");
// When
await button.click();
// Then
await expect(button).toHaveAttribute("title", "Pause");
});it("should return the layout when ID is valid", async () => {
// Given
const layout = LayoutBuilder.layout();
// When
const result = await service.findOne(layout.id);
// Then
expect(result).toEqual(layout);
});test() / it() blocks.any — use proper TypeScript types in all test code.testing/builders/ (unit), e2e/fixtures/ (E2E), and e2e/page-objects/ (E2E).describe('ComponentName') → describe('methodOrBehavior')it('should <expected outcome> when <condition>')test() with a descriptive title: "should <expected outcome> when <condition>"afterEach(() => {
jest.clearAllMocks();
jest.restoreAllMocks();
});await expect(service.create(dto)).rejects.toThrow(SomeException);await expect(page.getByRole("alert")).toBeVisible();
await expect(page.getByText("Error message")).toBeVisible();lichtblick-suite/lichtblick
9589f38
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.