Можно ли передать параметры командной строки для скрипта в rspec - PullRequest
1 голос
/ 09 ноября 2010

У меня есть скрипт RSpec, который тестирует программу на другом языке, который я разрабатываю. Поскольку я могу запускать и тестировать 32- и 64-разрядные версии этого приложения, я хотел бы иметь возможность сообщить об этом в командной строке.

Что я действительно хочу, это сделать что-то вроде этого:

rspec -c myspec.rb lin32

или

rspec -c myspec.rb lin64

и пусть lin32 или lin64 передаются в виде строки, к которой я могу получить доступ в самом файле ruby. Это возможно? Этот сайт упоминает переменные среды, но это громоздко. В нем также упоминалось, что нужно делать манипуляции с ARGV - это возможный способ сделать это?

Ответы [ 2 ]

6 голосов
/ 20 апреля 2012

От David Chelimsky

Вы не можете передавать произвольные аргументы команде rspec, но вы можете установить переменную окружения, например, такую:

SLEEP=10 rspec test.rb 

Затем в скрипте значениеENV["SLEEP"] равно "10", так что вы можете сказать:

sleep(ENV["SLEEP"].to_f) 
0 голосов
/ 10 ноября 2010

Попробуйте параметр --.Он используется, чтобы сообщить приложению, что нужно прекратить обработку параметров и передать оставшиеся параметры дочернему процессу.Я не знаю, понимает ли это rspec, но стоит попробовать.

`rspec -c myspec.rb -- lin32`
`rspec -c myspec.rb -- lin64`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...