2013-09-10 2 views
0

Я пытаюсь получить мои тесты JUnit для приложения Android, использующего Ant. При использовании Eclipse это не проблема, все скомпилировано и может быть запущено без проблем.Запуск тестов Android JUnit с Ant: ClassNotFoundException: org.junit.Test

На данный момент я получаю ClassNotFoundException для org.junit.Test.

Я бегу следующие команды

ant clean debug - success 
ant uninstall - success 
ant installt - success 
ant test - failure 

журнал ошибок:

test: 
    [echo] Running tests ... 
    [exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.ClassNotFoundException 
    [exec] INSTRUMENTATION_RESULT: longMsg=java.lang.ClassNotFoundException: org.junit.Test 
    [exec] INSTRUMENTATION_CODE: 0 

Я полагаю, что скучает junit.jar файл. Я добавил его в каталог ANT_HOME/lib, но это не повлияло. Библиотека ant-junit.jar уже была в «ANT_HOME/lib», мне не нужно было ее копировать.

Я также попытался добавить его в путь класса моего тестового проекта и пометил его для экспорта. Также в этом случае результат остается неизменным.

Я также позволяю eclipse генерировать build.xml, чтобы быть и объединить его с файлом, созданным проектом андроидного обновления. Это не имело никакого значения, я получаю ту же ошибку.

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

build.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="FSTest" default="help"> 
    <property file="local.properties" /> 
    <property file="ant.properties" /> 
    <property environment="env" /> 
    <condition property="sdk.dir" value="${env.ANDROID_HOME}"> 
     <isset property="env.ANDROID_HOME" /> 
    </condition> 
    <loadproperties srcFile="project.properties" /> 
    <fail 
      message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." 
      unless="sdk.dir" 
    /> 
    <import file="custom_rules.xml" optional="true" /> 
    <import file="${sdk.dir}/tools/ant/build.xml" /> 
</project> 

ant.properties:

tested.project.dir=../FS 
external.libs.dir=libs 

project.properties:

target=android-11 
+0

можете вы показать нам свой целевой тест с вашего build.xml? – VirtualTroll

+0

@VirtualTroll Я добавил build.xml, ant.properties и свойства проекта. Я не модифицировал build.xml, это как было создано. –

ответ

1

Проблема была в моем файле build.xml. Я изменил его в соответствии с приведенным здесь примером: http://www.vogella.com/articles/ApacheAnt/article.html и после этого он сработал.

Эти линии были те, которые цветовым разницу:

<path id="junit.class.path"> 
    <pathelement location="libs/junit.jar" /> 
    <pathelement location="${build.dir}" /> 
    </path> 
0

Страница JUnit задача перечисляет несколько способов, которые вы можете сделать JUnit для мусора:

http://ant.apache.org/manual/Tasks/junit.html

В частности, вариант 1 потребует добавления как "junit.jar" и "муравейник junit.jar" к "ANT_HOME/Lib". Любой из 5 вариантов, перечисленных там, должен работать только отлично.

+0

Извините, я забыл написать, что ant-junit.jar уже был в «ANT_HOME/lib», мне не нужно было его копировать (я также отредактирую сообщение). Так что ошибка должна быть где-то в другом месте. –

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