2010-10-23 2 views
2

Это должно быть просто, но я не могу найти примеров. У меня есть стандартные функциональные тесты в моих рельсах 3 приложения (по убыванию из ActionController :: TestCase), которые выглядят как:Функциональный тест Rails - исключая метод из настройки

test "see if 1+1=2" do 
.... 
end 

и наверху у меня есть метод установки:

setup do 
    ...... 
end 

Как исключить метод? То есть

setup :except => "see if 1+1=2" do 
... 
end 

(выше не работает OBV)

ответ

0

Использование shoulda и контекстные блоки, таким образом, вы можете поместить тесты, используя настройки в одном контексте, а также тесты не использовать их в другом, или за ее пределами другой блок контекста.

0

Мне тоже интересно. Обходной без установки и обучения новых камней были бы определить частные функции в тесте

test "see if 1+1=2" do 
    setup_situation_1 
    ... 
end 

test "see if 1 * 1 = 1" do 
    setup_situation_1 
    .. 
end 

test "see if 1/1 = 1" do 
    # no setup here 
    ... 
end 

... 

private 
def setup_situation_1 
    ... 
end 

Это DRY-ЭСТЕ подход я могу думать без установки/обучения нового драгоценного камня - который может быть предпочтительное решение для некоторых людей, особенно тех, которые носят рельсы. Тем не менее, я не могу найти документацию по этому методу setup/do - условие «except» для setup/do, безусловно, будет DRY-er.