2015-12-03 2 views
0

Когда я пытаюсь создать проект через консоль с помощью [mvn clean install -DskipTests], я получаю ошибку. Я использую в своих тестах testNG SoftAssert, и в тестовом классе я просто добавил импорт import org.testng.asserts.SoftAssert, но похоже, что maven не видит этот пакет. Ошибка из консоли:Ошибка компиляции Maven [package org.testng.asserts не существует]

пакет org.testng.asserts не существует

Мой 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.atlassian</groupId> 
<artifactId>tests</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 
<name>confluence</name> 
<url>http://maven.apache.org</url> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.1.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.48.2</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 
</dependencies> 
<build> 
    <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> 

+0

Является ли maven идентифицирующим другие классы TestNG? Например, когда вы используете '@ Test', дает ли она аналогичную ошибку? – MKay

ответ

0

Такие ошибки возникают при соответствующей версии зависимостей у вас нет классов, которые вы пытаетесь использовать. В этом случае TestNG version 6.1.1, который вы используете, не имеет пакета org.testng.asserts. Попробуйте использовать нижеприведенную версию, Кроме того, он не даст ошибку для импорта SoftAsserts, если вы попросили IDE включить TestNG library. Библиотека TestNG, безусловно, имеет более высокую версию, чем та, о которой вы говорите, от pom.xml. Старайтесь хранить одинаковые версии как в pom.xml & вашей IDE testNG plugin, чтобы избежать такого изменения поведения.

<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>6.8.8</version> 
</dependency> 

Над версией, безусловно, работает. Попробуйте.

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