Skip to main content

Project Requirements

What RoostGPT expects from your codebase and input files before generating tests.


Supported Languages and Frameworks

Unit Tests

LanguageBuild ToolFrameworks
JavaMaven, GradleJUnit 4, JUnit 5
Pythonpippytest, unittest
Gogo modulesgotest
C#dotnetNUnit

API Tests

FrameworkInput
PostmanSwagger / OpenAPI spec or Postman collection
ArtillerySwagger / OpenAPI spec or Postman collection
Rest AssuredSwagger / OpenAPI spec — trigger from a valid Java/Maven repo
KarateSwagger / OpenAPI spec — trigger from a valid Java/Maven repo

Integration Tests

Uses the same frameworks as API tests. Requires both an API spec and a Gherkin .feature file as the behavior template.

UI Tests

FrameworkInput
PlaywrightTarget application URL(s), natural language requirements, Word/PDF/Excel/Gherkin documents

Java Projects

For Java unit test generation, your project must be a valid Maven or Gradle module:

your-project/
├── pom.xml ← required for Maven
├── build.gradle ← required for Gradle
└── src/
└── main/
└── java/
└── com/example/
└── MyService.java
  • Trigger generation from the directory that contains pom.xml or build.gradle
  • For multi-module projects, trigger from the module root, not the parent
  • The source code must compile — RoostGPT runs mvn compile or gradle build as part of generation

Python Projects

  • Source files must be importable (proper __init__.py structure where needed)
  • Dependencies should be listed in requirements.txt or pyproject.toml
  • If using Docker mode, the PYTHON_VERSION variable controls the container image

Go Projects

  • Must be a valid Go module with a go.mod file at the root
  • RoostGPT traverses all packages under the module root
  • To limit scope, use FUNCTIONS_TO_TEST to specify individual functions

API Spec Files

RoostGPT accepts the following API specification formats:

FormatNotes
Swagger 2.0 (JSON or YAML)Fully supported
OpenAPI 3.x (JSON or YAML)Fully supported
Postman Collection v2 / v2.1JSON format
RAMLSupported via API_SPEC_TYPE=raml

The spec can be provided as a local file, a Git path, or a URL via the API_SPEC_* variables.

For Karate and Rest Assured tests, place the spec file inside a valid Java/Maven project and trigger generation from there.


Gherkin Templates (Integration Tests)

Integration tests require a Gherkin .feature file that defines the behavior scenarios. RoostGPT uses this as the template to generate the full test suite.

Feature: Weather API

Scenario: Get current weather by city
Given the weather API is available
When I request the weather for "London"
Then I receive a 200 response
And the response includes a temperature field

The template can be provided as a local file path or a URL via BEHAVIORAL_TEST_* variables.


Jira / Azure DevOps (Functional Tests)

For functional test generation, RoostGPT fetches a user story from your issue tracker. The story should include:

  • A clear summary / title
  • A description with acceptance criteria or user story format ("As a... I want... So that...")
  • Any attachments or comments that add context (optional but improves output)

RoostGPT generates Gherkin scenarios, an API spec, and a test scenario document from the story.


Network Requirements

The machine running RoostGPT (or the hosted stack) must be able to reach:

DestinationPortPurpose
hub.docker.com443Pull Docker images
Your AI provider endpoint443Generate tests
Your Git platform443Clone source, push tests, open PRs
app.roost.ai443License validation (cloud users)