2010-01-21 2 views
4

Есть ли простая рубиновая или рельсовая команда, чтобы получить список всех тестов в приложении? В первую очередь я использую Shoulda, но если есть рубиновое решение, независимо от набора тестов, который тоже будет работать.Печать списка всех тестов в Rails-приложении

ответ

1

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

rake test BENCHMARK_TESTS=true 

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

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

0

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

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

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

+0

Я знаю это много: вы можете указать, что в командной строке должен быть запущен определенный тест с чем-то вроде «ruby -Ilib: test test/unit/user_test.rb -n test_user_is_created», и он будет запускать отдельный тест. Это встроено в тестовую единицу и даже работает над испытаниями на посадку. Кажется разумным, что вы сможете получить обратное. Но я не могу сделать это соединение :) –

+1

@Jaime - Я не вижу, как вы могли бы создать список динамически сгенерированных тестов, не выполняя ничего (или занимаясь множеством вещей в тестовой среде!). Какую проблему ты пытаешься решить? Возможно, есть еще один способ напасть на него. –

+1

Hi Mike - Я никогда не говорил, что список должен быть создан без запуска тестов. Фактически, самым простым вариантом будет команда или плагин, который дает вам возможность распечатывать тесты при их запуске. Что касается проблемы, которую я пытаюсь решить, буквально получить список тестов. Решение, которое я нашел и опубликовал, дает мне это. –

Смежные вопросы