Как предотвратить тест Граблей для вызова задачи db:test:prepare

более простое решение на основе этого ответа :

public static String prettyFormat(String input, int indent) {
    try {
        Source xmlInput = new StreamSource(new StringReader(input));
        StringWriter stringWriter = new StringWriter();
        StreamResult xmlOutput = new StreamResult(stringWriter);
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        transformerFactory.setAttribute("indent-number", indent);
        Transformer transformer = transformerFactory.newTransformer(); 
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.transform(xmlInput, xmlOutput);
        return xmlOutput.getWriter().toString();
    } catch (Exception e) {
        throw new RuntimeException(e); // simple exception handling, please review it
    }
}

public static String prettyFormat(String input) {
    return prettyFormat(input, 2);
}

контрольный пример:

prettyFormat("aaa");

возвращает:



  aaa
  

11
задан Edvinas Bartkus 8 July 2009 в 12:47
поделиться

2 ответа

Вот решение, которое я видел:

В вашем Rakefile:

Rake::TaskManager.class_eval do
  def remove_task(task_name)
    @tasks.delete(task_name.to_s)
  end
end

В lib / tasks / db / test.rake :

Rake.application.remove_task 'db:test:prepare'

namespace :db do
  namespace :test do 
    task :prepare do |t|
      # rewrite the task to not do anything you don't want
    end
  end
end
13
ответ дан 3 December 2019 в 06:47
поделиться

Есть плагин, который позаботится об этом за вас: override_rake_task . Вот краткий пример использования:

namespace :db do
  namespace :test do
    override_task :prepare do; end
  end
end
5
ответ дан 3 December 2019 в 06:47
поделиться
Другие вопросы по тегам:

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