2014-12-03 5 views
1

Я работаю над описанием функции, где мы хотим использовать цвет для обозначения положительного или отрицательного числа, где отрицательный красный, положительный - черный. Это в основном так:BDD для текста - это особый цвет?

Given I bought 2 items 
Then I have returned 1 item 
Then on the return receipt I should see both items and their costs 
And these lines should be black 
Then below that I should see the item I return and it's cost as a negative number 
And that line should be red 

Поскольку Behat/Mink еще не может это сделать, как я могу проверить это? И что-то действительно нужно протестировать? Моя мысль заключается в том, что это функция, которая описывает разработчику, как сайт должен работать, если я не помещу его здесь, как они узнают, что возвращенные элементы должны отображаться красным цветом?

Идеи? Спасибо :)

ответ

1

Цвета представляют собой детали реализации, которые не имеют места в сценарии. Важно то, что возвращение квитанция говорит вам о

  1. оригинал покупки
  2. возвращенный деталь

Так что я бы написать сценарий, как

Given I purchased two items 
And I returned one of the items 
When I view the return reciept 
Then I should see two items were purchased 
And I should see that one item was returned 

Теперь, когда вы владелец продукта решает, что наличие возвращенного элемента как красного недостаточно, и что он должен быть в коробке с «возвращенным» в качестве названия, вам не придется переписывать свой сценарий

+0

Но почему бы вам не переписать сценарий? Сайт изменился, не должен ли тест? – Jessica

+0

Нет, давайте рассмотрим некоторые потенциальные изменения. Скажем, что изменение действительно незначительное, наш текст ошибки идет от красного к синему. Это изменение требует: переписать все тесты, в которых упоминается красный цвет, минутное изменение на некоторый css и полная перестройка. Это немного дороже, чем просто изменение одной переменной css. Наш сценарий увеличил стоимость изменений. Это, стоит ли платить? Я не думаю, что это так. Теперь рассмотрим, изменим ли мы механизм представления, например. ошибки в красном поле с белым текстом, следует ли переписать сценарий, чтобы отразить это? – diabolist

+0

В настоящее время мы делаем шаги, которые говорят такие вещи, как «Я должен увидеть сообщение об ошибке» или даже иногда «я должен увидеть сообщение об ошибке, содержащее« текст », чтобы разработчики точно знали, что должно произойти. Тогда у нас есть только один шаг, который проверяет, действительно ли сообщение об ошибке было в div с предупреждением класса. Это была уникальная ситуация, когда мы пытались продемонстрировать транзакции типа учета, черные = деньги, красные = деньги, и необходимо было сообщить разработчикам не только об этом, но и подтвердить, что они это сделали – Jessica