java - Maven编译错误: package org. junit不存在

标签 java maven junit

我只是尝试从命令行运行一个简单的 JUnit 测试

mvn clean test -Dtest=src/test/java/scraper/ScrapeTest#dbConnectionTest

结果(为简洁起见缩短)

[ERROR] COMPILATION ERROR :
[ERROR] /mnt/c/Users/My Name/Workspace/MyProject/MyProject/src/test/java/scraper/ScrapeTest.java:[3,24] package org.junit does not exist
[ERROR] /mnt/c/Users/My Name/Workspace/MyProject/MyProject/src/test/java/scraper/ScrapeTest.java:[20,10] cannot find symbol
  symbol:   class Test
  location: class scraper.ScrapeTest

我不明白,因为依赖关系肯定包含在 pom.xml 文件中。我已删除任何 标签,并按照其他类似问题中的建议设置源和目标,并将 sourceEncoding 设置为 UTF-8,因为我收到了有关此问题的警告,并认为“@”符号可能没有被使用正确认识,但说实话,我不知道出了什么问题;只需将 {{poop emoji}} 扔到墙上,看看什么会粘住。

<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>myproj</groupId>
  <artifactId>web-scraper</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>MyProject</name>
  <description>A web scraper to collect data for MyProject database</description>
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>
        <!-- jsoup HTML parser library @ https://jsoup.org/ -->
        <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.11.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
        <dependency>
           <groupId>com.microsoft.sqlserver</groupId>
           <artifactId>mssql-jdbc</artifactId>
            <version>7.2.1.jre8</version>
        </dependency>
    </dependencies>
</project>

这是我正在尝试运行的测试。

package scraper;

import static org.junit.Assert.*;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.junit.Test;

public class ScrapeTest {

    //TODO fix connection issues
    private final String connectionUrl = "nunyabizniz";

    @Test
    public void dbConnectionTest() {
        try {
            //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver.class");
            Connection connection = DriverManager.getConnection(connectionUrl);
            assert(true);
        }
        // Handle any errors that may have occurred.
        catch (Exception e) {
            System.out.println(e.getMessage());
            assert(false);
        }
    }
}

最佳答案

您需要将 junit 依赖项添加到您的 pom 文件中,最终进行范围测试,

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

关于java - Maven编译错误: package org. junit不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54952610/

相关文章:

java - 如何为 ProcessBuilder 编写测试用例

java - 如何更改 JPanel 的大小以适应动态生成的 JBList?

java - 将外部 jar 加载到 java 项目的类路径中

java - 继续获取文件列表直到退出

java - Drools 中的工作内存和对象插入行为

maven - Jaxb2 为每个 mvn clean 包生成类

java - Maven Hibernate 依赖项 - 选择哪一个?

java - 解决eclipse中maven依赖的类

java - 仅运行 JUnit 测试时 Hibernate SessionFactory 创建失败

java - 运行带有太多测试用例的套件时内存不足(java 堆)