当前位置: 首页 > 知识库问答 >
问题:

maven测试因nullpointer而失败,但JUnit5 ok

黎征
2023-03-14

我在使用JUnit5进行maven测试时遇到了一个奇怪的问题。

我用junit工具为每个方法创建了测试套件,每个测试都是这样开始的。

private Class2Test createTestSubject() {
        return new Class2Test();
    }

    public void test1() throws Exception {
        Class2Test testSubject;
        String result;

        // default test
        testSubject = createTestSubject();
        result = testSubject.getData();
        //testing, assert
}
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M5</version>
        <dependencies>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>5.7.0</version>
            </dependency>                
        </dependencies>
        <configuration>
                <systemPropertyVariables>
                    <entorno>${project.basedir}\resources\maqueta.properties</entorno>
                    <hibernate>${project.basedir}\resources\hibernate.cfg.xml</hibernate>
                </systemPropertyVariables>
                <parallel>classes</parallel>
                <threadCount>10</threadCount>
            </configuration>
    </plugin>
package test.com.my.myself;

import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

import javax.annotation.Generated;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.junit.tools.configuration.base.MethodRef;
import com.my.myself.Class2Test;
import com.google.gson.Gson;


import junitparams.JUnitParamsRunner;

@Generated(value = "org.junit-tools-1.1.0")
@RunWith(JUnitParamsRunner.class)
public class Tester1{


    private Class2Test createTestSubject() {
        return new Class2Test();
    }

    @DisplayName("TEST1")
    @MethodRef(name = "test1", signature = "()QString;")
    @Test
    public void test1() throws Exception {
        Class2Test testSubject;
        String result;

        // default test
        testSubject = createTestSubject();
        result = testSubject.test1();
    }
}

和要测试的类


public class Class2Test{

    private Connection conn = new Connector();
    private static final Logger logger = Logger.getLogger(Class2Test.class);
    
    public String test1() {
         PrepareStatement pstm = conn.prepareStatement("select 1 from dual");
         ResultSet rs = pstm.executeQuery();
         ...

         return 1;
        }
}

共有1个答案

穆俊名
2023-03-14

pom.xml有问题,资源文件夹设置错误。:(

 类似资料:
  • 我试图对我的骆驼路由进行单元测试,在成功调用路由后,我从测试代码中获得了404,这意味着我无法从测试中读取响应,总是抛出没有找到404 这是我的测试代码 我的路线定义如下 所以我的路由被调用,日志输入器记录了有效负载的200成功,但是当生产者模板返回时,它有404异常。 知道我做错了什么吗?

  • 我正在为一个带有多个STS模块的spring boot项目运行maven安装。 Maven日志: 最后,展示了所有模块的成功构建。难道它不应该一发现失败就停止制造战争吗?

  • 我花了几个小时来找出为什么我的一个junit测试在本地运行,而不是在github工作流上运行。失败的测试检查一些文件是否存在,以执行一些配置工作。我正在使用maven资源插件将这些文件复制到目标目录中的一个文件夹中。这是我的pom插件设置。xml: 文件按预期复制,mvn clean test按预期运行,但不在github工作流中运行。 这是我的工作流定义: 我想这是一个典型的RTFM问题,但我没

  • 首先请原谅我可能的无知,专业的做事方式对我来说很新鲜,如果有什么我没有提到的,请告诉我,我会尽力给你你需要的信息。。。 所以我试图用maven在Eclipse中构建我的webapp,我有一个测试套件 这很好,当我右键单击并以Junit test运行测试时,所有测试都通过了。 当我以Maven build的形式运行它,并以打包一系列测试为目标时,失败了??? 我的maven surefire插件配置

  • 我的Junit测试使用DBUnit,从Eclipse运行时运行良好。但是,使用Maven运行相同的测试会导致以下一项测试失败: 我已经连续几次尝试从EclipseGUI(“作为JUnit测试运行”)运行该测试和整个测试集,但它们从未失败——但从Maven来看,它们确实失败了。 我对每个测试都使用@数据库设置,但这足以真正重置数据库吗?我还认为Maven可能会并行运行测试,所以我尝试在pom.xml

  • 问题内容: 我通过参考以下 链接创建了一个示例struts 2项目和junit测试用例。 http://self-learning-java-tutorial.blogspot.com.au/2015/04/struts2-junit- integration.html 但是,在执行测试用例时,出现以下错误, Eclipse JUNIT stacktrace中的错误 问题答案: 在构建路径中添加c