2015-09-09 4 views
0

У меня есть проект/программа Java в eclipse, которую я могу загрузить и запустить, а также успешно изменить параметры командной строки. Эта программа занимает всего несколько секунд, и я хотел бы протестировать ее с помощью различных параметров параметров командной строки. Есть ли способ настроить eclipse для запуска чего-то вроде следующего сценария bash после того, как я ударил кнопку отладки один раз?Отладка переменных параметров командной строки с помощью Eclipse

java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/bio/bio.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/bio/bio.dev -predictions_file bioPredictionsEvenOdd 

echo "**finance data**" 
java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/finance/finance.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/finance/finance.dev -predictions_file financePredictionsEvenOdd 

echo "**speech data**" 
java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/speech/speech.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/speech/speech.dev -predictions_file speechPredictionsEvenOdd 

echo "**synthetic easy data**" 
java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/synthetic/easy.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/synthetic/easy.dev -predictions_file syntheticEasyEvenOdd 

echo "**synthetic hard data**" 
java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/synthetic/hard.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/synthetic/hard.dev -predictions_file syntheticHardEvenOdd 

echo "**vision data**" 
java Classify -mode train -algorithm majority -model_file outputModelEvenOdd -data ./Homework1Data/vision/vision.train 
java Classify -mode test -model_file outputModelEvenOdd -data ./Homework1Data/vision/vision.dev -predictions_file visionEvenOdd 

Я бы хотел, чтобы точки останова и визуальный отладчик работали между прогонами. В качестве побочной заметки я также использую плагин maven eclipse (я думаю, m2e), если у этого есть такие возможности.

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

ответ

1

Eclipse не имеет встроенного средства для этого.

Выполнение тестовых прогонов может быть реализовано с помощью модульной тестовой среды, такой как JUnit, а Eclipse имеет встроенную поддержку для запуска JUnit, поэтому вам даже не нужно загружать файл JUnit jar.

Возможно, вы захотите загрузить файл JUnit jar для запуска тех же тестов вне Eclipse, например. используя Ant или Gradle, или если вы хотите использовать другую версию JUnit, чем ту, что поставляется с Eclipse.

Пример

public class ClassifyTest { 
    @Test 
    public void trainAndTestBio() { 
     Classify.main(new String[] { 
      "-mode",  "train", 
      "-algorithm", "majority", 
      "-model_file", "outputModelEvenOdd", 
      "-data",  "./Homework1Data/bio/bio.train" 
     }); 
     Classify.main(new String[] { 
      "-mode",    "test", 
      "-model_file",  "outputModelEvenOdd", 
      "-data",    "./Homework1Data/bio/bio.dev", 
      "-predictions_file", "bioPredictionsEvenOdd" 
     }); 
    } 
    @Test 
    public void trainAndTestFinance() { 
     // code here 
    } 
} 
+0

Я не против использования JUnit, вы могли бы, возможно, расширить немного о том, как сделать это? Так что, по сути, мне нужно будет установить для него единичный тест, возможно, если можно вызвать класс, который имеет main() из JUnit? Если я смогу добраться до рабочего решения, я был бы более чем счастлив принять ваш ответ! –

+0

Перейдите на сайт [JUnit] (http://junit.org/) и нажмите ссылку «[Начало работы] (https://github.com/junit-team/junit/wiki/Getting-started)». – Andreas

Смежные вопросы