如何在Java中导入'@Test'方法

时间:2019-09-12 08:28:24

标签: junit

我正试图在一个小程序上使用@Test函数,因为我被定向为在youtube上使用Java 8教程。在这里找到。 我要开始从21:59开始的第二课。 这是youtube链接。

https://www.youtube.com/watch?v=grEKMHGYyns

但是,我遇到以下错误:

  1. 当尝试导入Test函数时,我的Apache Netbeans IDE给出的建议是...

“软件包org.junit不存在”

...“ org.Assert”也是如此

  1. 在我的PersonTest.java文件的第9行的“ @Test”函数上,IDE给出了错误...

“找不到符号”。

  1. 第13行的“ assertEquals”方法存在相同的错误。

尝试的解决方案1:在Maven存储库中搜索org.junit.Test的依赖项。

结果1:“没有匹配的项目。”


尝试的解决方案2:将依赖项写入pom.xml文件。

结果:不适用。没啥事儿。


我在PersonTest.java文件上的代码:


package com.marcusbiel.javacourse.lesson2;

import org.junit.Test;

import org.Assert.assertEquals;

public class PersonTest {


@Test
public void shouldReturnHelloWorld() {

    Person tristan = new Person();
    assertEquals("Hello World",tristan.helloWorld() );
}
}

我在Person.java文件上的代码:


package com.marcusbiel.javacourse.lesson2;

public class Person {
    public String helloWorld(){
        return "Hello World";
    }       
}

我在pom.xml文件中的代码:


<?xml version="1.0" encoding="UTF-8"?>
<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.mycompany</groupId>
    <artifactId>mavenproject1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>12</maven.compiler.source>
        <maven.compiler.target>12</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

注意:我试图通过添加...来解决此问题。 “

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

...部分。我认为它没有用。我对该程序没有反馈。

当我运行它时。我想看到一条消息,说“所有测试都通过了”。就像这里的视频一样……(我在发生结果的链接上有一个时间戳记。)

youtu.be/grEKMHGYyns?t=2125

2 个答案:

答案 0 :(得分:1)

问题是非常老的JUnit版本3.8.1(从2007年开始),结合了需要JUnit 4的代码。

可以使用Junit 4解决问题:

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

也Assert.assertEquals导入错误。应该是:

import static org.junit.Assert.assertEquals;

答案 1 :(得分:0)

我认为您应该clean up and update您的项目依赖项。

从netbeans IDE中执行mvn clean install

这将更新您的项目依赖项。我认为这将解决无法解决的依赖性问题。

这是doc,将maven与netbeans一起使用