При разработке rubygem с расширениями C, как вы проводите локальное тестирование с помощью Rspec?

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

С моим расширением C в «ext/mygem/ mygem.c» и действительный extconf.rb, настроенный в «расширениях» gemspec, как мне запустить мои спецификации и при этом загрузить расширение C? Когда я вношу изменения в код C, какие шаги мне нужно предпринять, чтобы перекомпилировать код?

Вероятно, это глупый вопрос, но ввод «bundle install» внутри исходного дерева разработки моего гема не приводит к созданию каких-либо нативных расширений. Когда я вручную запускаю ruby ​​ext/mygem/extconf.rb, я получаю Makefile (в корне всего проекта), а когда я затем запускаю make, я получаю общий объект (опять же, в корне всего проекта). Должно быть, я следую неправильному рабочему процессу, так как понимаю, что .so должен быть помещен в lib/.Разве я не должен делать это вручную во время разработки?

5
задан Matheus Moreira 30 March 2012 в 14:35
поделиться