LaunchKit · 2026
Back to Skills

fosmvvm-ui-tests-generator

Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI.

0
317 downloads
by @foscomputerservices

Setup & Installation

openclaw skills install @foscomputerservices/fosmvvm-ui-tests-generator

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install fosmvvm-ui-tests-generator

What This Skill Does

Generates XCTest-based UI tests for SwiftUI views built with the FOSMVVM architecture. Handles both interactive views that verify ViewModelOperations and display-only views that only check UI state. Produces base test infrastructure and per-view test files with element accessors.

Generates the full test scaffolding, including operations stubs and test data transport wiring, that FOSMVVM's architecture requires but is tedious to write by hand.

When to use it

  • Writing UI tests for a new form view that calls backend APIs
  • Verifying button interactions invoke the correct ViewModelOperations
  • Testing display-only cards render the right data from stub ViewModels
  • Setting up base XCTest infrastructure for a new FOSMVVM project
  • Covering navigation flows between ViewModelViews with accessibility identifiers

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Generate UI tests for TaskFormView, which has submit and cancel buttons that call TaskFormViewOps

AGENT
  1. 1Identifies TaskFormView as an interactive view requiring ViewModelOperations verification
  2. 2Generates base test case class inheriting from ViewModelViewTestCase if not already present
  3. 3Creates TaskFormViewUITests with UI state tests for button enabled/disabled states
  4. 4Adds operation tests that tap submit and cancel, then assert on stubOps.submitCalled and stubOps.cancelCalled
  5. 5Emits XCUIApplication extension with submitButton and cancelButton element accessors using uiTestingIdentifier values
OUTPUT

TaskFormUITests.swift with full test class, XCUIApplication extension, and notes on required .uiTestingIdentifier and .testDataTransporter additions to the view