Exercism exercises in Dart.
- Dart 2.0.0 or higher
The simplest way to install Dart can be found here.
Clone the repo and run dart pub get
to download all the dependencies for this project.
To run all the tests execute: dart test
To run the tests for a single exercise, execute EXERCISE=slug dart test
.
To create a new exercise, use the executable in the tool directory: dart bin/create_exercise.dart
At the most basic level, Exercism is all about the tests. They drive the user's implementation forward and tell them when the exercise is complete.
The utmost care and attention should be used when adding or making changes to the tests for an exercise. When implementing an exercise test suite, we want to provide a good user experience for the people writing a solution to the exercise. People should not be confused or overwhelmed.
We simulate Test-Driven Development (TDD) by implementing the tests in order of increasing complexity. We try to ensure that each test either
- helps triangulate a solution to be more generic, or
- requires new functionality incrementally.
Test files should use the following format:
test("says hello world with no name", () {
final String result = helloWorld.hello();
expect(result, equals("Hello, World!"));
}, skip: false);
Thank you so much for contributing! 🎉
We welcome pull requests of all kinds. No contribution is too small.
We encourage contributions that provide fixes and improvements to existing exercises. Please note that this track's exercises must conform to the standards determined in the exercism/problem-specifications repo. Changes to the tests or documentation of a common exercise will often warrant a PR in that repo before it can be incorporated into this track's exercises. If you're unsure, then go ahead and open a GitHub issue, and we'll discuss the change.
Please read our Contribution guidelines on how to help this track!