welltested 2.0.0-preview.2 welltested: ^2.0.0-preview.2 copied to clipboard
WelltestedAI is a Testing AI Pilot helping developers add and maintain tests as they code and deliver stable welltested apps to users.
Welltested AI is a testing autopilot that automatically creates and maintains unit test coverage in your codebase, helping you deliver welltested apps to users.
Setup #
⚙️ Configure API Key #
Please setup an account, and get your API Key. Welltested is completely free for individual developers.
Create a .env
file at the root of your project, and add your API key received in the email.
WELLTESTED_API=YOUR_API_KEY
✅ Add Welltested Dependency #
Add welltested under dev_dependencies, in your
pubspec.yaml
along with mockito and build_runner.
dev_dependencies:
welltested:
//optional
mockito:
build_runner:
Ensure you have the CLI activated:
dart pub global activate welltested
Quick Start #
Annotate for Testing #
Add the @Welltested()
annotation to the classes whose methods you want to test.
@Welltested()
class Auth {
Future<void> logInUser() {...}
Future<void> logOutUser() {...}
}
In the above case, welltested will generate unit tests for logInUser
and logOutUser
methods of Auth class.
Generate Unit Tests #
To generate unit tests for annotated classes, please run:
welltested generate build
This takes a few minutes to complete and the generated tests can be found in the /test
folder.
Save Unit Tests #
If you make adjustments to the generated tests, please save them by running the command:
welltested save unit
Note: Saving tests regularly helps welltested learn from your changes and improve the quality of future test generations.
Exclude Methods #
By default, all methods in an annotated class are included for testing. To exclude any methods, add their names to the excludedMethods
list in the Welltested
annotation.
@Welltested(excludedMethods: ['logOutUser'])
class Auth {
Future<void> logInUser() {...}
Future<void> logOutUser() {...}
}
For example, here welltested will not generate unit tests for logOutUser
method.
Custom Testcases #
To specify custom testcases for any method, use @Testcases()
annotation.
@Welltested()
class Auth {
@Testcases(['Throws exception when email is empty'])
Future<User> logInUser() {...}
}
Developer Docs #
For details documentation, please read our Developer Docs.
NOTE #
The minimum supported Flutter SDK version is 2.5.0 with Dart SDK 2.14.0. Any prior projects need to be upgraded before using welltested.