Skip to content
This repository was archived by the owner on Sep 23, 2025. It is now read-only.
This repository was archived by the owner on Sep 23, 2025. It is now read-only.

Add integration tests for VSCode extension UI logic #28

@nikomatsakis

Description

@nikomatsakis

Problem

Manual testing of VSCode extension functionality (comments, webviews, commands) is time-consuming and error-prone. Each change requires:

  • Building extension
  • Installing in VSCode
  • Manual clicking through UI flows
  • Verifying terminal integration
  • Testing edge cases

This slows development and makes regressions likely.

Proposed Solution

Investigate VSCode extension testing approaches:

Option 1: VSCode Extension Test Runner

  • Use @vscode/test-electron for automated UI testing
  • Can simulate user interactions, verify webview content
  • Integrates with existing test infrastructure

Option 2: Headless Testing Framework

  • Mock VSCode APIs for unit testing UI logic
  • Test webview message passing, command registration
  • Faster but less realistic than full integration tests

Option 3: Hybrid Approach

  • Unit tests for core logic (comment placement, markdown processing)
  • Integration tests for critical user flows (comment replies, action buttons)
  • Manual testing only for final verification

Acceptance Criteria

  • Research VSCode testing best practices and tooling
  • Implement test infrastructure for at least one UI component
  • Document testing approach for future development
  • Reduce manual testing overhead by 70%+

Context

Currently working on walkthrough system (#23) where manual testing of comment replies, action buttons, and webview interactions is the primary bottleneck.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-managedAI is permitted to update this issue OP and add commentsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions