@as-pect/core
v9.0.0
Published
Write AssemblyScript tests at blazing fast speeds
Readme
jtenner/as-pect - @as-pect/core
Write your module in AssemblyScript and get blazing fast bootstrapped tests with WebAssembly speeds!
Documentation
To view the documentation, it's located here on the gitbook. If there are any issues with the docs, please feel free to file an issue!
Reporter and Reporting lifecycle guidance
@as-pect/core owns the Test suite model, Reporting lifecycle, Suite report factory, and legacy reporter adapter. Custom reporters should prefer the report event callbacks exposed by IReporter:
onReportGroupStart(event)andonReportGroupFinish(event)receive{ group }facts.onReportTestStart(event)andonReportTestFinish(event)receive{ group, test }facts.onReportFinish(event)receives{ report }facts for the completed suite.
These Report events carry stable Suite report facts that are ready to render. New reporters should read from SuiteGroupReport, SuiteTestReport, and SuiteReport instead of walking TestContext or mutable Test node state.
The older onEnter(ctx, node), onExit(ctx, node), and onFinish(ctx) callbacks remain available for compatibility with existing reporters and subclasses. Treat them as legacy extension points for migration only. The Reporting lifecycle now keeps compatibility-only TestContext and TestNode facts behind the legacy reporter adapter as legacy report facts so they do not leak into report event payloads.
If a reporter needs to create report facts directly, use createGroupReport(node), createTestReport(group, test), or createSuiteReport(ctx) from @as-pect/core.
Snapshot key format
@as-pect/core records snapshots under the full Test node namespace plus the explicit snapshot name passed by AssemblyScript code. The Test tree recorder creates the namespace used by the Snapshot lifecycle. A key contains each describe/it segment and duplicate-safe indexes before the snapshot name, for example:
outer[0]!~duplicate[1]!~renders value[0]This is a breaking change from the older test-name-only snapshot keys. The namespace-derived format makes duplicate test names and repeated snapshot names deterministic because each snapshot is tied to the exact Test node that created it. Existing snapshot files should be regenerated or migrated for the next major release.
Contributors
To contribute please see CONTRIBUTING.md.
Thanks to @willemneal and
@MaxGraey for all their support in making as-pect the
best software it can be.
Other Contributors:
- @trusktr - Documentation Changes
- @MaxGraey - Performance API suggestions
- @torch2424 - Documentation Changes
- @dcodeio - Made AssemblyScript itself!
- @9oelM - Misc functionalities
Special Thanks
Special thanks to the AssemblyScript team for creating AssemblyScript itself.
