Как делают меня модульный тест пользовательская задача Ant?

Обычно, когда вы используете виртуальные среды, вам нужно activate их сначала, прежде чем вы сможете их использовать. В какой-то момент вам понадобится выполнить команду для создания виртуальной среды:

virtualenv awesome_virtualenv

Затем, чтобы сделать ее активной:

cd ~/Virtualenvs/awesome_virtualenv
source bin/activate
pip3 install tensorflow  # this will install TensorFlow into your awesome_virtualenv

Вы можете создать столько виртуальных сред по вашему желанию и установите различные наборы библиотек в каждой.

6
задан Rob H 9 October 2008 в 10:09
поделиться

3 ответа

При рассмотрении исходного кода Муравья это два соответствующих класса: ProjectComponent и Задача

Вы называете метод журнала от Задачи:

public void log(String msg) {
     log(msg, Project.MSG_INFO);
}

Который звонит:

public void log(String msg, int msgLevel) {
  if (getProject() != null) {
    getProject().log(this, msg, msgLevel);
  } else {
    super.log(msg, msgLevel);
  }
}

Так как у Вас нет набора проекта, он назовет "super.log (сообщение, msgLevel)"

public void log(String msg, int msgLevel) {
  if (getProject() != null) {
     getProject().log(msg, msgLevel);
  } else {
    // 'reasonable' default, if the component is used without
    // a Project ( for example as a standalone Bean ).
    // Most ant components can be used this way.
    if (msgLevel <= Project.MSG_INFO) {
      System.err.println(msg);
    }
  }
}

Похоже, что это может быть Вашей проблемой. Для Вашей задачи нужен контекст проекта.

1
ответ дан 10 December 2019 в 00:46
поделиться

Или еще лучше, разъединитесь, сам объект задачи от логики (позволяет, называют это TaskImpl) в задаче - так, чтобы можно было передать в собственных зависимостях (например, регистратор). Затем вместо того, чтобы тестировать объект задачи, Вы тестируете TaskImpl->, который можно передать в регистраторе и любых других странных остатках, он, возможно, должен был бы сделать свое задание. Затем поблочное тестирование является вопросом насмешки зависимостей.

8
ответ дан 10 December 2019 в 00:46
поделиться

Ant имеет удобный класс BuildFileTest, расширяющий класс JUnit TestCase. Вы можете использовать его для проверки поведения отдельных целей в файле сборки. Это поможет избавиться от раздражающего контекста.

В руководстве Apache Ant Writing Tasks Tutorial есть глава Test The Task , которая описывает это.

1
ответ дан 10 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

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