Распечатать список всех тестов в приложении Rails - PullRequest
4 голосов
/ 21 января 2010

Существует ли простая команда ruby ​​или rails, чтобы получить список всех тестов в приложении? В первую очередь я использую Следует, но если есть решение для ruby ​​независимо от набора тестов, оно тоже подойдет.

Ответы [ 3 ]

1 голос
/ 22 января 2010

Я нашел обходное решение: плагин test_benchmarker . Вы запускаете свои тесты с дополнительной переменной среды, например:

rake test BENCHMARK_TESTS=true

Лучше всего передать вывод в файл, потому что он будет длинным . Но он даст вам список всех тестовых классов и самих тестов, как для модульных, так и для функциональных. Очевидно, это также дает вам результаты сравнительного анализа, что является бонусом.

Есть что-нибудь лучше? Я думаю, это довольно близко, и дополнительные усилия так мало, почему бы и НЕ получить результаты теста? В RSpec встроена эта функция, но, возможно, было бы интересно написать версию для Test :: Unit.

0 голосов
/ 27 мая 2019

Я думаю, тебе это нужно. Это то, что команда "rails test" делает

tests = Rake::FileList["test/**/*_test.rb"]
0 голосов
/ 21 января 2010

Я не думаю, что здесь может быть единый для всех вариант решения: то, как идентифицируются тесты, будет в значительной степени зависеть от фреймворка. Как только вы попадаете в фреймворки, такие как musta, практически невозможно идентифицировать все тесты без их выполнения, рассмотрим, например, случай, когда у вас есть should требования в цикле.

Чтобы отобразить список всех тестов по мере их выполнения, нужно будет покопаться в коде структуры для точки, где идентифицируются / генерируются отдельные тесты, и извлекать необходимую информацию.

Мне было бы интересно узнать, если (и как) я не прав, хотя ...

...