Нашел решение этой проблемы после небольшой отладки.
Глядя на вывод терминала при переходе по ссылке, я заметил, что иногда он пытается отправить его через JS, за которым быстро следует HTML; другие, похоже, будут отправлены только через HTML.
Это указывало на расу между поведением по умолчанию и поведением в результате использования remote: true
.
Решением было вызвать e.preventDefault()
для обработчика щелчков элемента:
$('.my-element').click(function(e) { e.preventDefault(); })
Не идеально, и я предполагаю, что исправлено в более новых версиях Rails, хотя здесь есть небольшое закрытие:)
Я предполагаю то, что Вы имеете в виду,-f опция, которая даст Вам процент строк, покрытых на функцию. Существует интересная статья о gcov в докторе Dobb, который мог бы быть услужливым. Если "человек gcov" не показывает флаг-f, проверьте, есть ли у Вас довольно последняя версия gcc комплекта.
Править: для получения процента функций, не выполняемых, можно просто проанализировать через функциональный вывод покрытия, поскольку покрытие на 0,00% должно быть в значительной степени эквивалентно не названный. Этот маленький сценарий печатает процент функций, не выполняемых:
#!/bin/bash
if test -z "$1"
then
echo "First argument must be function coverage file"
else
notExecuted=`cat $1 | grep "^0.00%" | wc -l`
executed=`cat $1 | grep -v "^0.00%" | wc -l`
percentage=$(echo "scale=2; $notExecuted / ($notExecuted + $executed) * 100" |bc)
echo $percentage
fi
Мы начали использовать gcov и lcov вместе. Результаты lcov действительно включают процент функций, которые выполняются для "модуля", на который Вы смотрите.
Править: Модуль может пойти из каталогов вниз в файлы.
Я также хочу добавить, что, если Вы уже используете инструменты компилятора GNU, затем gcov/lcov не будет слишком трудным для Вас для получения выполнения и результатов это, продукты являются очень впечатляющими.
Утилита lcov хороша, и мы ее используем. Но я не уверен, нужен ли он вам для того, что вы хотите.
Мы
используем ctags ( wikipedia ; sourceforge ), чтобы найти все функции, объявленные в соответствующих заголовочные файлы.
Запустите GCOV, чтобы получить покрытие строки для каждой функции в двоичном файле.
Сравните список функций из 1 и 2, чтобы получить «Функции, вызываемые» / «Доступные функции».
Мы называем это « Покрытие API », поскольку мы применяем шаг №1 только к общедоступным заголовкам API. Но вы можете сделать это для всех заголовков или только для части по вашему выбору. Я думаю, что соотношение, которое мы получаем таким образом, и есть то, которое вы ищете.