Правильный способ тестирования драгоценных камней - PullRequest
7 голосов
/ 18 января 2010

Если у драгоценного камня есть зависимости от рельсов, как вы думаете, лучше написать тесты для драгоценных камней таким образом, чтобы их можно было запускать автономно или в рамках проекта рельсов?

Ответы [ 2 ]

6 голосов
/ 18 января 2010

Драгоценный камень должен быть частью кода, который действует автономно. В противном случае это часть приложения, поэтому тесты также должны создаваться отдельно. Таким образом, другие (гипотетически) также могут выполнять тесты. Если тесты зависят от вашего приложения, другие не смогут проверить ваш драгоценный камень.

Кроме того, если вы хотите протестировать свой драгоценный камень, он не должен потерпеть неудачу, потому что ваше приложение не работает. После того, как ваш драгоценный камень прошел тест, вы можете протестировать приложение, зная, что ваш драгоценный камень функционирует хорошо (при условии, что вы все проверили).

Независимо от того, зависит ли гем от Rails или нет, это не проблема, так как Rails также был протестирован (и вы можете предположить, что он работает правильно). Таким образом, эти зависимости не (/ должны) влиять на ваш драгоценный камень.

0 голосов
/ 18 января 2010

Я бы сказал, что это зависит от вида зависимостей, в которых нуждается самоцвет. Например. если это просто ActiveRecord, его довольно легко включить в ваш набор тестов. В более сложных случаях вы всегда можете высмеять некоторые необходимые функции. В действительно сложных случаях создание тестового приложения лучше, чем ничего (IMO).

...