Действительно ли возможно программно генерировать тестовые сценарии JUnit и комплекты?

От Википедия Bash

, Когда Bash запускается, он выполняет команды во множестве различных сценариев.

, Когда Bash вызывается как интерактивная оболочка входа в систему, он сначала читает и выполняет команды из файла/etc/profile, если тот файл существует. После чтения того файла это ищет ~/.bash_profile, ~/.bash_login и ~/.profile, в том порядке, и читает и выполняет команды от первой, которая существует и читаема.

, Когда оболочка входа в систему выходит, Bash читает и выполняет команды из файла ~/.bash_logout, если это существует.

, Когда интерактивная оболочка, которая не является оболочкой входа в систему, запускается, Bash читает и выполняет команды от ~/.bashrc, если тот файл существует. Это может быть запрещено при помощи - norc опция. - rcfile опция файла вынудит Bash считать и выполнить команды из файла вместо ~/.bashrc.

17
задан matt b 24 September 2010 в 14:17
поделиться

4 ответа

В JUnit 4 вы захотите посмотреть параметризованный бегун . Он был создан для той цели, которую вы описываете (тесты на основе данных). Однако он не объединяет их в наборы.

В Junit 3 вы можете создавать TestSuites и Tests программно. Ответ находится в Junit Recipes , которые я могу расширить, если вам это нужно (помните, что JUnit 4 может запускать тесты Junit 3).

17
ответ дан 30 November 2019 в 13:05
поделиться

Рассматривали ли вы возможность использования FIT для этого?

Кажется, у вас уже есть таблицы, и «бизнес-правила» звучат так, будто «деловые люди пишут их, используя Excel. ".

FIT - это система для проверки тестов, основанная на таблицах с сопоставлениями вход-> ожидаемый выход, и доступна библиотека Java с открытым исходным кодом для запуска этих тестов.

8
ответ дан 30 November 2019 в 13:05
поделиться

Мы попробовали FIT и решили использовать Concordion . Основные преимущества этой библиотеки:

  • тесты могут быть проверены вместе с базой кода (например, в репозиторий Subversion)
  • они выполняются стандартным исполнителем JUnit
1
ответ дан 30 November 2019 в 13:05
поделиться

Я написал нечто очень похожее, используя JUnit. У меня было большое количество тестовых примеров (30 страниц) в XML-файле. Вместо того, чтобы пытаться сгенерировать разные тесты, я проделал все это в одном тесте, который работал отлично.

Мой тест выглядел примерно так:

void setup() { 
  cases = read in the xml file
}

void test_fn_works() {
  for case in cases {
    assert(case.expected_result, fn(case.inputs), 
        'Case ' + case.inputs + ' should yield ' + case.expected_result);

  }
}

С Ruby я сделал именно то, что вы говорите - сгенерировал тесты на муха. Однако сделать это на Java сложно, и я не думаю, что это того стоит, поскольку есть другой, вполне разумный подход.

Надеюсь, это поможет.

0
ответ дан 30 November 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: