2008-11-17 3 views
2

У меня проблема с EMMA, где он правильно охватывает все мои различные Java-проекты, кроме одного. Я озадачен тем, почему это происходит, поскольку сценарий ANT кажется правильным. Следующий ожидаемый выход Дано:EMMA не будет охватывать один из моих проектов

[echo] c:\cc_local_home\emmadata\ProjectName 
[instr] processing instrumentation path ... 
[instr] instrumentation path processed in 1876 ms 
[instr] [84 class(es) instrumented, 0 resource(s) copied] 
[instr] metadata merged into [c:\cc_local_home\data\2008-11-17_14.35.19\coverage.emma] {in 62 ms} 

выше генерируется следующий фрагмент ANT сценария:

<target name="emma" depends="init" if="use.emma"> 
    <echo message="${emma.bin}" /> 
    <emma enabled="true"> 
    <instr instrpath="${test.bin}" destdir="${emma.bin}" metadatafile="${test.data.dir}/coverage.emma" merge="true"> 
     <filter excludes="*Test*,*test*" /> 
     <filter excludes="*Exception" /> 
     <filter excludes="*AppConstants" /> 
    </instr> 
    </emma> 
</target> 

После того, как тесты JUnit выполняются, следующий регистрируется.

emma.report: [отчет] ввод обработка файлов ...
[отчет] 1 файл (ы) для чтения и слившиеся в 16 мс
[отчет] ничего не делать: Нет данных покрытия во время выполнения найденных в любой файлов данных

И не создается отчет о покрытии.

Я уверен, что файлы cover.emma правильно связаны, так почему EMMA не покрывает код?

emma.report задача выглядит следующим образом:

<target name="emma.report" if="use.emma"> 
    <emma enabled="true"> 
    <report sourcepath="${test.reports.dir}"> 
     <infileset dir="${test.data.dir}" includes="*.emma" /> 
     <html outfile="${test.reports.dir}/coverage.html" /> 
    </report> 
    </emma> 
</target> 
+0

Одинаковый вопрос здесь. Удивительно, что запуск задач emma дважды генерирует отчет во второй раз. – ashes999 2011-01-31 20:36:23

ответ

0
<target name="emma.report" if="use.emma"> 
    <emma enabled="true"> 
    <report sourcepath="${test.reports.dir}"> 
     <infileset dir="${test.data.dir}" includes="*.emma" /> 
     <html outfile="${test.reports.dir}/coverage.html" /> 
    </report> 
    </emma> 
</target> 
+0

Эта информация лучше всего снимается, редактируя вопрос и помещая его туда. – 2008-11-18 20:54:35

1

Я хотел бы проверить, чтобы убедиться, что целевой JUnit работают на инструментальный код, а не работать в режиме нон-инструментальный код (который не будет производить какие-либо данные об охвате).

0

Эта ошибка возникает при использовании неправильной команды для создания отчета. Большая часть онлайн-учебника пропагандирует неправильную команду (по-старому), даже я получил эту ошибку, когда я использовал команду ниже для создания отчета:

{JAVA_HOME} \ jre \ lib \ ext> java -cp emma. jar emma report -r html -in coverage.em, {ALFRESCO_HOME} \ coverage.ec EMMA: обработка входных файлов ... EMMA: 1 файл (ы), прочитанный и объединенный в 60 мс EMMA: ничего не делать: no охвате выполнения найдено ни в одном из файлов данных

Правильное использование команды является: {JAVA_HOME} \ JRE \ Lib \ вн> Java -cp emma.jar отчет эмма -r TXT, HTML -в {JAVA_HOME } \ jre \ lib \ ext \ coverage.em-in C: \ t1_tempSetup \ Alfresco \ coverage.ec EMMA: обработка входных файлов ... EMMA: 2 файла (ов) прочитано и объединено за 70 мс EMMA: запись [txt] отчета в [{JAVA_HOME} \ jre \ lib \ ext \ coverage.txt] ... EMMA: запись [html] отчет в [{JAVA_HOME} \ jre \ lib \ ext \ покрытие \ index.html]

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