Тестовые случаи TestNG не компилируются, когда я делаю проект -> чистый - PullRequest
6 голосов
/ 13 сентября 2011

Я использую Spring, TestNG, Eclipse, Maven, Mac OS

Сценарий

Я делаю некоторые изменения в моих тестовых случаях (TestNG тестовые случаи),

Тогда я делаю Проект -> Очистить в затмении

Сейчас я запускаю тестовый файл, но изменения не обновляются.

Я подозреваю, что тестовые файлы не скомпилированы.

Я могу запустить сервер и запустить свои веб-сервисы

Но если я запускаю maven test (mvn test), весь код компилируется, включая контрольные примеры.

Итак, чтобы запустить тестовые случаи, я запускаю только команду mvn test.

Не может пройти через затмение.

Eclipse config:

Автоматическая сборка

В путь сборки Java включен тестовый пакет

Если вам нужна дополнительная информация, я предоставлю.

org.testng.TestNGException: 
    Cannot find class in classpath: com.***.***.model.***.case.CaseModelImplTest
        at org.testng.xml.XmlClass.loadClass(XmlClass.java:76)
        at org.testng.xml.XmlClass.init(XmlClass.java:68)
        at org.testng.xml.XmlClass.<init>(XmlClass.java:54)
        at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:512)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
        at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10)
        at org.testng.xml.Parser.parse(Parser.java:170)
        at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:304)
        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:86)
        at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199)
        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170)

Ответы [ 9 ]

4 голосов
/ 26 сентября 2012

Кажется, вы не включили свой класс Test case в путь сборки.Щелкните правой кнопкой мыши папку вашего проекта, перейдите к проекту properties-> src
, включив папку Testcase src, проверив ее.
Теперь она должна запуститься.

4 голосов
/ 22 августа 2014

Откройте окно «Проблемы».В Eclipse зайдите в Окно-> Показать представление-> Проблемы.В нем будут перечислены все ошибки при компиляции кода.

3 голосов
/ 13 сентября 2011

Скомпилированы ли тестовые случаи, но в неправильный каталог?Они должны быть скомпилированы для тестовых классов, а не классов.В вашем пути сборки вам нужно установить папку вывода на

PROJECT / target / test-classes

Это верно для всех ресурсов тестирования (включая src /test / java & src / test / resources).

Отредактируйте свойства своего проекта в Eclipse, выберите Java Build Path, а затем на вкладке Источник вы увидите все ваши исходные каталоги.У каждого есть выходная папка.Эта выходная папка должна быть такой же, как указано выше.

2 голосов
/ 10 декабря 2013

Перейти к Project --> Clean

Это сработало для меня с похожей проблемой.

1 голос
/ 15 мая 2014

Пожалуйста, проверьте файл testNG.xml на правильность теста, потому что я получил ту же ошибку, и это потому, что было введено неправильное имя теста.

0 голосов
/ 05 июня 2015

Проверьте, открыты ли артефакты вашего проекта, такие как Excel, файлы свойств, XML-файлы и т. Д., В текстовых редакторах и т. Д. (Если да, закройте их и выполните перестройку)

Когда вы чистите и перестраиваете, убедитесь, что все зависимые от проекта файлы закрыты, и вы делаете сборку.

0 голосов
/ 06 апреля 2015

Я думаю, что когда-нибудь мы получим эту ошибку, если ваш тестовый класс находится в пакете по умолчанию и в Testng.xml, вы указываете, как показано ниже -

<suite name="Suite" parallel="none">
<listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
    <classes>
        <class name=".Test1" />
    </classes>
</test> <!-- Test -->

Здесь выше, япереместил мой тестовый класс из пакета по умолчанию в какой-то пакет, а также обновил testng.xml, как показано ниже - и все начало работать.

<suite name="Suite" parallel="none">
<listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
    <classes>
        <class name="com.sigma.rest.api.Test1" />
    </classes>
</test> <!-- Test -->

Надеюсь, это поможет вам ... если проблема все еще существует, попробуйте выше варианты.

спасибо!

0 голосов
/ 15 августа 2013

Я решил это следующим образом:

  1. Изменение пути сборки / удаление некоторых неправильных
  2. Очистка проекта
0 голосов
/ 13 сентября 2011

ваша тестовая папка добавлена ​​в Eclipse как исходная папка?Если это не так, он не будет включен в сборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...