#java #ant #junit
#java #ant #junit
Вопрос:
Я получаю следующий код ошибки для запуска целевой программы junit в ant. EshopCoreTestSuite — это фреймворк, который:
public class EshopCoreTestSuite extends TestSuite {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(CustomerContextTest.class);
return suite;
}
public static void main(String[] args) {
TestRunner.run(EshopCoreTestSuite.class);} }
ошибка:
<error message="com.bgc.EshopCoreTestSuite" type="java.lang.ClassNotFoundException">java.lang.ClassNotFoundException: com.bgc.EshopCoreTestSuite ....
</error>
цель junit:
<property name="COMP_TEST_SRC_DIR" location="test/java"/>
<property name="TEST_BUILD_DIR" location="build/test"/>
<property name="COMP_JAVA_SRC" location="src/java" />
<property name="COMP_BUILD" location="build" />
Я просто запутался здесь с path. У меня есть папка src и под этой папкой java и test для java и тестовых файлов. Я надеюсь, что я указал больше / неправильный путь.
….
<junit printsummary="on" fork="on">
<classpath>
<path refid="CLASSPATH_JUNIT"/>
<dirset dir="${TEST_SRC_DIR}"/>
</classpath>
<env key="app.module" path="ESW"/>
<env key="app.env" path="DEV"/>
<test name="com.bgc.EshopCoreTestSuite" todir="../../../BUILD/ESW/ESWBUILD/CI/REPORT" outfile="junit_report">
<formatter type="xml"/>
</test>
</junit>
Комментарии:
1.
${TEST_SRC_DIR}
выглядит подозрительно. у вас нет определенной переменной для каталога скомпилированного класса (output или bin)?2. я отредактировал основную проблему. Я просто запутался с элементом path, можете ли вы уточнить это.
Ответ №1:
Попробуйте изменить:
<dirset dir="${TEST_SRC_DIR}"/>
Для:
<dirset dir="${TEST_BUILD_DIR}"/>
в этом <junit>
разделе. Путь к классу должен содержать встроенные классы, а не исходные файлы. Если ваши классы генерируются для .../src/java
, то используйте ${COMP_JAVA_SRC}
вместо этого. (Но это немного нестандартно.)
Дело в том, что эта dirset
переменная должна указывать на корень, в котором расположены ваши .class
файлы.
Комментарии:
1. хм … где находится
com/bgc/EshopCoreTestSuite.class
файл, расположенный в вашей структуре каталогов?2. bgc-esw-coresrctest и тестовые файлы под этим. bgc-esw-core src java, все файлы Java в этом пакете.
3. это
.class
файлы, на которые вам нужно указывать. они действительно вsrcjava
?4. извините, файлы классов расположены в bgc-esw-core/target/classes/com/bgc/EshopCoreTestSuite.class
5. затем присвоите свойству это значение (target/classes /), если у вас его еще нет, и используйте это в
dirset
значении.