Project Requirements
What RoostGPT expects from your codebase and input files before generating tests.
Supported Languages and Frameworks
Unit Tests
| Language | Build Tool | Frameworks |
|---|---|---|
| Java | Maven, Gradle | JUnit 4, JUnit 5 |
| Python | pip | pytest, unittest |
| Go | go modules | gotest |
| C# | dotnet | NUnit |
API Tests
| Framework | Input |
|---|---|
| Postman | Swagger / OpenAPI spec or Postman collection |
| Artillery | Swagger / OpenAPI spec or Postman collection |
| Rest Assured | Swagger / OpenAPI spec — trigger from a valid Java/Maven repo |
| Karate | Swagger / 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
| Framework | Input |
|---|---|
| Playwright | Target 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.xmlorbuild.gradle - For multi-module projects, trigger from the module root, not the parent
- The source code must compile — RoostGPT runs
mvn compileorgradle buildas part of generation
Python Projects
- Source files must be importable (proper
__init__.pystructure where needed) - Dependencies should be listed in
requirements.txtorpyproject.toml - If using Docker mode, the
PYTHON_VERSIONvariable controls the container image
Go Projects
- Must be a valid Go module with a
go.modfile at the root - RoostGPT traverses all packages under the module root
- To limit scope, use
FUNCTIONS_TO_TESTto specify individual functions
API Spec Files
RoostGPT accepts the following API specification formats:
| Format | Notes |
|---|---|
| Swagger 2.0 (JSON or YAML) | Fully supported |
| OpenAPI 3.x (JSON or YAML) | Fully supported |
| Postman Collection v2 / v2.1 | JSON format |
| RAML | Supported 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:
| Destination | Port | Purpose |
|---|---|---|
hub.docker.com | 443 | Pull Docker images |
| Your AI provider endpoint | 443 | Generate tests |
| Your Git platform | 443 | Clone source, push tests, open PRs |
app.roost.ai | 443 | License validation (cloud users) |