KS
Killer-Skills

integration-testing — how to use integration-testing in GoudEngine how to use integration-testing in GoudEngine, integration-testing vs unit testing, integration-testing setup guide for OpenGL Game Engine, what is integration-testing in software development, integration-testing alternative for Rust projects, integration-testing install for C/C# developers, GoudEngine testing patterns, FFI boundary testing best practices, GL context management in integration testing

v1.0.0
GitHub

About this Skill

Ideal for Rust and C/C# focused AI Agents requiring comprehensive integration testing capabilities for GoudEngine. Integration-testing is a software testing technique for verifying interactions between multiple modules in a system, such as GoudEngine's OpenGL Game Engine.

Features

Covers cross-module interactions in GoudEngine
Manages GL context for reliable testing
Tests FFI boundaries end-to-end
Validates SDK wrappers against the Rust core
Organizes tests using a modular structure in src/ directory
Supports writing tests in Rust using the #[cfg(test)] module

# Core Topics

aram-devdocs aram-devdocs
[3]
[0]
Updated: 3/1/2026

Quality Score

Top 5%
51
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add aram-devdocs/GoudEngine/integration-testing

Agent Capability Analysis

The integration-testing MCP Server by aram-devdocs is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use integration-testing in GoudEngine, integration-testing vs unit testing, integration-testing setup guide for OpenGL Game Engine.

Ideal Agent Persona

Ideal for Rust and C/C# focused AI Agents requiring comprehensive integration testing capabilities for GoudEngine.

Core Value

Empowers agents to validate SDK wrappers against the Rust core, test FFI boundaries end-to-end, and ensure seamless cross-module interactions using GL context management and SDK wrappers.

Capabilities Granted for integration-testing MCP Server

Testing multiple modules together in GoudEngine
Validating FFI boundaries for Rust and C/C# interactions
Ensuring correct GL context management in integration tests

! Prerequisites & Limits

  • Requires GoudEngine setup
  • Specific to Rust and C/C# development
  • Needs understanding of GL context management and FFI boundaries
Project
SKILL.md
3.9 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Integration Testing

Patterns and conventions for writing integration tests in GoudEngine, covering cross-module interactions, GL context management, and FFI boundary testing.

When to Use

Use when writing tests that exercise multiple modules together, test FFI boundaries end-to-end, or validate SDK wrappers against the Rust core.

Test Organization

goud_engine/
├── src/
│   ├── ecs/
│   │   └── mod.rs          # Unit tests in #[cfg(test)] module
│   ├── ffi/
│   │   └── mod.rs          # Unit tests for FFI functions
│   └── libs/graphics/
│       └── mod.rs          # Unit tests (may need GL context)
├── tests/                   # Integration tests
│   ├── ecs_integration.rs
│   ├── ffi_integration.rs
│   └── graphics_integration.rs
└── benches/                 # Benchmarks (criterion)
    └── ecs_bench.rs

sdks/
├── csharp.tests/            # C# SDK tests (xUnit)
└── python/
    └── test_bindings.py     # Python SDK tests

GL Context Management

Many graphics tests require an OpenGL context. Use the helper:

rust
1use crate::test_helpers::init_test_context; 2 3#[test] 4fn test_renderer_initialization() { 5 let _ctx = init_test_context(); 6 // GL-dependent test code here 7}

Rules:

  • Tests that need GL MUST call init_test_context() at the start
  • Tests that do NOT need GL (math, ECS logic, data structures) MUST NOT call it
  • GL tests may fail in CI environments without a display — mark test expectations accordingly

Test Factory Patterns

Create reusable factories for common test objects:

rust
1#[cfg(test)] 2mod test_helpers { 3 use super::*; 4 5 pub fn create_test_entity(world: &mut World) -> Entity { 6 let entity = world.spawn(); 7 world.add_component(entity, Transform2D::default()); 8 entity 9 } 10 11 pub fn create_test_sprite(world: &mut World, entity: Entity) { 12 world.add_component(entity, Sprite::new("test_texture")); 13 } 14}

FFI Integration Testing

Test the full path: Rust → FFI → SDK wrapper.

rust
1#[test] 2fn test_ffi_create_entity_roundtrip() { 3 // 1. Create context via FFI 4 let ctx = unsafe { ffi::create_context() }; 5 assert!(!ctx.is_null()); 6 7 // 2. Create entity via FFI 8 let entity_id = unsafe { ffi::create_entity(ctx) }; 9 assert!(entity_id > 0); 10 11 // 3. Clean up 12 unsafe { ffi::destroy_context(ctx) }; 13}

FFI test rules:

  • Always test null pointer handling (pass null, expect error code)
  • Test memory lifecycle (create → use → destroy)
  • Verify error codes match expected values
  • Test string marshaling (CStr roundtrips)

Cross-SDK Parity Tests

Verify the same operation produces the same result in both SDKs:

  1. Write the test in Rust (ground truth)
  2. Write equivalent test in Python (test_bindings.py)
  3. Write equivalent test in C# (csharp.tests/)
  4. Results must match across all three

Test Categories

CategoryLocationNeeds GLRun Command
Unit (Rust)#[cfg(test)] in sourceDependscargo test
Integration (Rust)goud_engine/tests/Oftencargo test --test <name>
FFI boundarygoud_engine/tests/Sometimescargo test --test ffi_*
Python SDKsdks/python/test_bindings.pyNopython3 sdks/python/test_bindings.py
C# SDKsdks/csharp.tests/Nodotnet test sdks/csharp.tests/
Benchmarksgoud_engine/benches/Sometimescargo bench

Checklist

Before submitting integration tests:

  • Tests are in the correct location (unit vs integration)
  • GL-dependent tests use init_test_context()
  • Non-GL tests verified to run without display
  • FFI tests check null pointer cases
  • FFI tests verify memory cleanup
  • Test names describe the scenario being tested
  • No #[ignore] or todo!() in test code
  • Arrange-Act-Assert pattern followed

Related Skills

Looking for an alternative to integration-testing or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication