2013-12-03 4 views
11

Я довольно новичок в maven, и я хочу запускать свои тестовые классы с помощью maven. Я создал testng.xml, и я также создал файл POM.xml. Но при запуске mvn install, он создает эту ошибку:Ошибка сборки Maven [package org.testng.annotations не существует]

[пакет org.testng.annotations не существует]

пожалуйста консультации по этому вопросу.

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.TestNG</groupId> 
    <artifactId>TestNG</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <dependencies> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.1.1</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 

     <sourceDirectory>src</sourceDirectory> 

     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.16</version> 
       <configuration> 
        <suiteXmlFiles> 
         <suiteXmlFile>testng.xml</suiteXmlFile> 
        </suiteXmlFiles> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

testng.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite" verbose="1" preserve-order="true"> 

    <test name="Test"> 
     <packages> 
      <package name="com.testngTest2" /> 
      <package name="com.testngTest" /> 
     </packages> 
    </test> <!-- Test --> 
</suite> <!-- Suite --> 
+1

где в вашем проекте являются ваши тестовые классы? то есть под src/test/java или где-то еще? – DB5

ответ

32

У меня аналогичная проблема. Причиной этого была опция «Scope» зависимости «testng», установленная на «test», когда «компиляция» была необходима.

Как я установил его (заметьте, я использовал Eclipse):

  1. Открыть pom.xml файл.
  2. Перейти к "Зависимости" tab.
  3. Выберите «TestNG» пакет и нажмите на кнопку «Свойства ... »
  4. На открывшейся изменения экрана «Scope» вариант «компилировать» и нажмите кнопку «ОК», чтобы сохранить его.
  5. Попробуйте снова создать свой проект с целями «компиляции теста». Сфера
+0

Спасибо Pavik «компиляционный тест» работает для меня, и я получаю сообщение об ошибке с чистой установкой –

0

Set TestNG к «при условии», если вы создаете веб-приложение и не хотите, включенных в WEB-INF/Lib.

10

удалить тестовая область TestNG зависимость и добавить компилировать

<dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.1.1</version> 
     <scope>compile</scope> 
    </dependency> 
3

Даже я столкнулся с этим вопросом и получил решение для того же.

В вашем файле pom.xml удалите область действия, и это должно работать нормально.

В соответствии с приведенным ниже кодом в pom.xml удалите тег области видимости.

Несмотря на то, что мы импортировали зависимость maven для Testng, когда вы добавляете тег области в файл XML, он рассматривает как аннотацию JUnit, а не как Testng. Поэтому, когда я удалил тег области, My @Test Annotation рассматривалась как Testng Annotation.

6

В вашей пом.XML-файл, который вы имеете объем TestNG как испытания

<dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.13.6</version> 
      <scope>test</scope> 
</dependency> 

Replace область по компилировать

<dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.13.6</version> 
      <scope>compile</scope> 
</dependency> 
0
Beleive me below wil work replace "test" to "compile" in scope 
<dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.13.6</version> 
      <scope>compile</scope> 
</dependency> 
Смежные вопросы