В первой версии просто проверялось наличие каких-то дом-нод или свойства дом-нод. Сейчас уже немного усложнился механизм - проверка идёт по нодам-образцам. В испытаниях - регрессионное тестирование, то есть сравнение картинок. В JS-курсах ещё сложнее, где-то проверяется по AST, где-то по выводу в консоль, где-то проверки комбинированные, где-то проверка работает по тому, что получилось в результирующем дом-дереве (когда скриптом нужно поменять дом). В общем, есть там много разных вариантов тестирования (и юнит, и регрессионное, и интеграционное, если так можно выразиться), но допиленных под курсы.