Supertester (Supertester v0.5.1)
View SourceSupertester - Multi-repository test orchestration and execution framework.
Provides centralized test management, execution, and reporting across multiple Elixir repositories in a monorepo structure.
Core Modules
Supertester.ExUnitFoundation- ExUnit adapter that wires in Supertester isolationSupertester.UnifiedTestFoundation- Test isolation runtime for custom harnessesSupertester.OTPHelpers- OTP-compliant testing utilitiesSupertester.GenServerHelpers- GenServer-specific test patternsSupertester.SupervisorHelpers- Supervision tree testing utilitiesSupertester.ConcurrentHarness- Scenario-based concurrency orchestratorSupertester.PropertyHelpers- StreamData generators for concurrency testingSupertester.MessageHarness- Mailbox tracing utilitiesSupertester.Telemetry- Centralized telemetry emission helpersSupertester.PerformanceHelpers- Benchmarking and load testingSupertester.ChaosHelpers- Chaos engineering and resilience testingSupertester.Assertions- Custom OTP-aware assertions
Usage
Add supertester as a test dependency in your mix.exs:
def deps do
[
{:supertester, path: "../supertester", only: :test}
]
endThen use the helpers in your tests:
defmodule MyApp.MyModuleTest do
use Supertester.ExUnitFoundation, isolation: :full_isolation
import Supertester.OTPHelpers
import Supertester.Assertions
describe "my functionality" do
setup do
setup_isolated_genserver(MyModule, "my_test")
end
test "my test", %{server: server} do
assert_genserver_responsive(server)
end
end
end
Summary
Functions
@spec version() :: String.t()
Returns the version of Supertester.