Юнит-тестирование в Dart все еще находится в стадии разработки. Мы (авторы Dart) в настоящее время используем скрипт Python (tools / test.py) для выполнения всех наших тестов. Сценарий запускает предопределенные каталоги, ищет файлы, оканчивающиеся на «Test», выполняет их и сравнивает с ожидаемым результатом.
Несколько дней назад была представлена первая версия test.dart (эквивалент в Dart). В ближайшее время мы переключимся с tools / test.py на tools / test.dart, чтобы выполнить все наши тесты.
Если вы пишете большой проект, вы можете повторно использовать нашу платформу тестирования. Мы используем его ежедневно, и он довольно стабильный. Для небольших проектов время, потраченное на изучение структуры, может не стоить усилий. Кроме того, я не удивлюсь, если будут (или будут) другие тестовые рамки.
ListTest из вашего вопроса был написан очень рано, когда функции верхнего уровня еще не были доступны. С тех пор он был изменен (с добавлением основной функции), но мы больше не будем писать тест таким образом. Если в этом нет необходимости, мы не создаем классы в наших тестах. См., Например, здесь для более позднего теста.
Редактировать: в клиенте / testing / unittest / также есть инфраструктура модульного тестирования. Смотрите здесь для теста, использующего эту платформу. Это также имеет то преимущество, что работает в браузере.