Как предполагается использовать SUS и суб-примеры в спецификации для Scala? - PullRequest
0 голосов
/ 03 мая 2011

Спецификации предоставляют два различных способа иерархического структурирования ваших спецификаций.Одним из них является определение «системы в соответствии со спецификацией», а другим - создание подприятий (один пример - одно утверждение спецификации / теста).

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

My Use-Case

В частности, у меня есть проект, который содержит различные алгоритмы A для вычисления некоторого вывода X с учетом конкретных примеров вводаY. Должен ли я выбрать алгоритмы A как SUS , чтобы я мог повторно использовать настройку типа «должен вычислить правильный результат, например, Y_1; должен вычислить правильный результат, например, Y_2; ...»?Или я должен указать, что различные примеры должны быть SUS , так что я получаю "должно быть разрешено алгоритмом A_1; должно быть разрешено алгоритмом A_2; ..."?

Что должноЯ превращаюсь в SUS , а что в под-примеры?

1 Ответ

1 голос
/ 03 мая 2011

Обычно указанная система (SUS) - это код, который вы указываете, а не данные.

Тогда основные различия между SUS и обычными примерами / подпримерами в specs заключаются в том, что SUS имеет несколько дополнительных методов для установки контекста, таких как -> - метод .

Что бы я на самом деле предложил в вашем случае, если данные фактически одинаковы для каждого алгоритма, это просто определить метод для создания ваших примеров:

def examplesMustPassFor(algo: Algorithm) = {
  "The algo "+algo.name should {
    "pass the data set 1" in { ... }
    "pass the data set 2" in { ... }
    "pass the data set 3" in { ... }
  }
}

examplesMustPassFor(algo1)
examplesMustPassFor(algo2)
examplesMustPassFor(algo3)

Еще один важный момент, который я хочу упомянуть, заключается в том, что specs проект был заменен specs2 , поэтому вы можете проверить это, если только начинаете писать свои спецификации.

Конечно, не стесняйтесь задавать более конкретные вопросы с кодомобразцы в списке рассылки , если хотите.

Эрик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...