TestRunner: registration and sequential execution #9
Labels
No labels
area:assertions
area:cli
area:client
area:harness
area:meta
area:reporting
area:runner
type:user-story
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/ws-rpc-test#9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As a test author, I want to declare tests with closures and run them all with one call, so that I can build a suite without per-test boilerplate.
Acceptance criteria
Registration
TestRunner::new(harness: ProcessHarness)takes ownership of a built harness.runner.test(name, |client| async move { ... })registers aTestCaseand returns&mut TestCasefor chaining (.tag("backend").parallel(), etc.).Arc<RpcClient>, returnsimpl Future<Output = TestResult>, and is'static + Send.Run
runner.run() -> Result<TestReport, TestError>(async):RpcClient.TestReport.Per-test outcome
Ok(())→ passed.Err(TestError::Skip(_))→ skipped (with reason recorded).RunConfig.timeout, default 60 s); exceeding it producesTestError::Timeout { event: "test", duration }.Report
TestReport { tests: Vec<TestCaseResult>, passed, failed, skipped, filtered, duration }.TestCaseResult { name, tags, status, duration, error: Option<TestError> }.Out of scope
References