Метод получения Ruby Unit Testing - PullRequest
1 голос
/ 23 декабря 2011

Я стараюсь расширить охват тестирования для существующего приложения Rails 2.3.

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

   get(:results,
        { # params
          :s => "college",
          :alt_iframes => iframes_param,
          :site_version => ApplicationController::VERSION_GOOGLE.to_i
        },
        { # session
          :arrival_id => 3,
          :arrival_quality => test_quality,
          :tid => test_tid,

        })

Когда это работает, это довольно очевидно, что происходит. Однако, когда это не работает, у меня много проблем с отладкой того, что идет не так.

Есть ли способ понять, к какому именно URL относится такой вызов? Или же можно сделать вызов этой формы вместо get("localhost:3000 ").

У меня даже есть документация, когда я выполняю поиск в Google.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2011

Если вы говорите о тесте контроллера, то get вообще не вызывает URL. Он просто напрямую вызывает действие в контроллере, который вы тестируете. Это работает иначе, если вы говорите об интеграционном тесте ... и никто не должен вызывать get in unit test.

0 голосов
/ 23 декабря 2011

Это в значительной степени зависит от метода, который тестирует тест, и от того, является ли приложение RESTful или нет.

Например, если вы делаете это в контроллере комментариев, Rails будет использовать маршруты, которыеНастройка, чтобы определить, что это тестирование /comments.

Если это пут, он будет знать, что вы тестируете обновление с /comments/:id.

...