Download the PHP package cspray/labrador-async-unit without Composer
On this page you can find all versions of the php package cspray/labrador-async-unit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cspray/labrador-async-unit
More information about cspray/labrador-async-unit
Files in cspray/labrador-async-unit
Package labrador-async-unit
Short Description An async unit and integration testing framework written on top of PHP8
License
Informations about the package labrador-async-unit
AsyncUnit
A testing framework, with a focus on integration testing, that treats Amp's Loop as a first-class citizen!
- Extend
Cspray\Labrador\AsyncUnit\TestCase
and annotate your tests with#[Test]
to get started - Setup and teardown your tests using a variety of hooks by annotating methods with attributes like
#[BeforeEach]
and#[AfterEach]
- Embrace a test suite as a first-class citizen with
Cspray\Labrador\AsyncUnit\TestSuite
and bring a layer of extra functionality to integration tests - Assertion API with first-class async support and a clear
- Disable tests,
TestCase
, or aTestSuite
with the#[Disabled]
Attribute - Utilize
#[DataProvider]
to reduce test duplication - Expect exceptions with, or without, specific messages to be thrown by your tests
- Includes a bundled CLI application for running your tests
AsyncUnit is under active development! The project has a defined Roadmap and is currently implementing features for version 0.5.0.
Installation
Hello, AsyncUnit
Although AsyncUnit can satisfy the needs of most unit and integration tests it was really designed for a specific type of test which can be challenging to run properly even in synchronous contexts. The "canonical" AsyncUnit test example is below and demonstrates the core functionality of the framework.
I hope you were able to see as much neatness in the above testing example as I do! If you're interested in seeing more
examples there are two places to find them; the examples/
and acme_src/
directories. Otherwise, please check out the
rest of this README for how to get started with the project.
Documentation
Whether you're a user learning how to write tests with the framework or you're a contributor wanting to make the library better our documentation should have what you're looking for! We walk you through everything you need to do get started, teach you about all the important concepts to know, and list out the assertions available. For contributors we give you a thorough overview of how everything works.
Online documentation at https://docs.labrador-kennel.io/asyncunit.
Documentation for Labrador AsyncUnit is sponsored by GitBook. Should absolutely check them out if you have the ned for developer-friendly, managed documentation hosting!
Discussion
Have an idea for the framework? Wondering how something works and have a question? Wanna interact with the maintainers? You're in the right place! This is the "social" part of AsyncUnit... go add to the Discussion!
Roadmap
AsyncUnit has a fairly well-defined roadmap leading to a stable API and a 1.0 release. Our Roadmap is not dated because the framework is currently maintained and implemented by 1 person in their free time. Instead, we have a series of 0.x releases with functionality that should enable increasingly complex tests until our canonical example can be executed. Check out the Roadmap to see what's in store for AsyncUnit! The features we're currently working on implemented can be tracked in our Active Sprint.
All versions of labrador-async-unit with dependencies
amphp/amp Version ^2
nikic/php-parser Version ^4.10
cspray/labrador-async-event Version ^2.3
cspray/labrador Version ^3.2.0
symfony/console Version ^5.2
opis/json-schema Version ^2.0
amphp/byte-stream Version ^1.8
cspray/yape Version ^3.1
phpunit/php-timer Version ^5.0
amphp/file Version ^1.0
cspray/labrador-styled-byte-stream Version ^0.1.0