Лучший способ связать файлы данных с конкретными тестами в RSpec / Ruby - PullRequest
0 голосов
/ 28 мая 2010

Для моих тестов RSpec я бы автоматически связывал файлы данных с каждым тестом. Чтобы уточнить, если каждый из моих тестов требует файл xml в качестве входных данных, а затем некоторые операторы xpath для проверки ответов, которые они возвращают, я хотел бы вывести xml и xpath в виде файлов и сделать так, чтобы среда тестирования легко связывала их с конкретным существом теста запустить с использованием уникального идентификатора теста в качестве имени файла (ов). Я пытался получить такое поведение, но решение не очень чистое. Я написал вспомогательный метод, который принимает значение «description» и комбинирует его с FILE , чтобы создать уникальный идентификатор, который устанавливается в глобальную переменную, к которой могут обращаться другие утилиты. Уникальный идентификатор используется для связи файлов данных, которые мне нужны. Я должен вызывать этот вспомогательный метод в качестве первой строки каждого теста, что ужасно.

Если у меня есть пример RSpec, который выглядит следующим образом:

describe "Basic functions of this server I'm testing" do
  it "should give me back a response" do
    # Sets a global var to: "my_tests_spec.rb_should_give_me_back_a_response"
    TestHelper::who_am_i __FILE__, description
    ...
  end
end

Есть ли какой-нибудь лучший / чище / скользкий способ, которым я могу получить уникальный идентификатор для каждого теста, с которым я могу связать файлы данных? Возможно, что-то встроено в RSpec, о котором я не знаю?

Спасибо, -Билль

1 Ответ

0 голосов
/ 29 мая 2010

Я только что узнал об изящном глобале до и после хуков. Я могу спрятать уникальный код создания идентификатора там. Это делает вещи намного чище. Я, вероятно, пойду с этим решением, если нет еще более изящного способа получить уникальный идентификатор для каждого теста. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...