Проблема, с которой вы сталкиваетесь, заключается в том, что когда вы запускаете свой первый тестовый класс и junit создает html-отчет, junit обычно помещает следующие html-файлы в выбранный вами каталог, в вашем случае это будет '$ {htmlresults.dir}/ html ':
/com
all-tests.html
allclasses-frame.html
alltests-errors.html
alltests-fails.html
index.html
overview-frame.html
overview-summary.html
stylesheet.css
При запуске второго теста те же имена файлов html создаются для второго класса и сохраняются в том же каталоге (' $ {htmlresults.dir} / html ').Что происходит, так это то, что html-файлы для первого класса перезаписываются именами html-файлов второго класса, поскольку имена html-файлов постоянны.Глядя на фрагмент build.xml, вы можете просто перейти к цели runTest и заменить узел festreport следующим:
НОВЫЙ узел festreoprt для цели runTest
<festreport todir="${report.dir}">
<classpath refid="classpath" />
<fileset dir="${results.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${htmlresults.dir}/html/${test.to.run}" />
</festreport>
OLD festreoprt NODE для цели runTest
<festreport todir="${report.dir}">
<classpath refid="classpath" />
<fileset dir="${results.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${htmlresults.dir}/html" />
</festreport>
Сделанное мной изменение очень просто.
Все, что я сделал, это сказал junit target testRun создать папку с именем только что запущенного класса,
, обозначенного как "$ {htmlresults.dir} / html / $ {test.to.run} ».
Как только эта папка создана, она сохраняет файлы отчета html в папке с указанным именем класса.Когда будет выполнена следующая последовательная цель, junit запустит цель, создаст новую папку с именем класса, который запускается, а затем сохранит html-файлы в папке класса.
После этого вы никогда не столкнетесь с проблемой перезаписи html-файла.