I have a package on pub named `bench` that builds upon the `unittest` package to offer xUnit style annotations and a reflective test runner:
What it lacks is the nice test runner that jUnit or nUnit have. Those work by loading a jar / assembly and reflecting over the loaded classes. This isn't possible in Dart (yet?). I guess that a Dart solution will require a `spawnUri` on a dart file, and then set up some message passing between the test runner application and the user test scripts. Another Dart solution would be a remote mirror system with invoke capabilities but I don't know if that is still planned or not.
So for now `bench` works by requiring an entry-point script such as:
```
import 'package:bench/bench.dart';
// import your test libraries so that reflection can find them
void main() => reflectTests();
```
The `reflectTests` function will use mirrors to find all test libraries, test functions, setup, teardown etc... and run everything.
cheers,