Как выполнить консоль Rails в тестовой среде и загрузить test_helper.rb?

1113 Принятый ответ на самом деле не говорит, как получить местоположение, так что здесь немного подробнее. Вы передаете массив int длины 2, и значения заменяются координатами вида (x, y) (верхнего левого угла).

int[] location = new int[2];
myView.getLocationOnScreen(location);
int x = location[0];
int y = location[1];

Примечания

  • Замена getLocationOnScreen на getLocationInWindow должна давать одинаковые результаты в большинстве случаев (см. этот ответ ). Однако, если вы находитесь в меньшем окне, таком как Dialog или пользовательская клавиатура, тогда вам нужно будет выбрать, какая из них лучше соответствует вашим потребностям.
  • Вы получите (0,0), если вызовете этот метод в onCreate, потому что вид еще не был размечен. Вы можете использовать ViewTreeObserver для прослушивания, когда макет сделан, и вы можете получить измеренные координаты. (См. этот ответ .)

118
задан Ethan 26 June 2009 в 16:29
поделиться

3 ответа

Для Rails <3.0

Запустите скрипт / консоль --help . Вы заметите, что синтаксис - скрипт / консоль [среда] , в вашем случае это скрипт / тест консоли .

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

В качестве примечания: действительно странно, что различные двоичные файлы в скрипте / имеет разные способы установки окружения rails.

Для Rails 3 и 4

Запустите rails c test . Добавьте bundle exec , если он вам нужен для текущей среды приложения.

Для Rails 5 и 6

Выполните rails console -e test .

179
ответ дан 24 November 2019 в 01:56
поделиться
script/console test

Should be all you need.

10
ответ дан 24 November 2019 в 01:56
поделиться

Убедитесь, что вы установили GEM и добавили следующую строку в файл environment.rb или test.rb.

config.gem "thoughtbot-factory_girl", :lib => "factory_girl", :source => "http://gems.github.com"
1
ответ дан 24 November 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: