测试不通过 Maven 运行?

2024-01-06

当我在 Maven 中运行测试时,我得到以下信息:

[INFO] -------------------------------------------------------    
[INFO]  T E S T S     
[INFO] -------------------------------------------------------   
[INFO]   
[INFO] Results:  
[INFO]   
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

我的测试类 JsonReaderTest.class 位于src/测试/java据我从 maven-surefire-plugin 了解到,并遵循正确的名称约定。

在 Maven 外部运行时测试运行良好。

我的 pom 中包含这个插件:

<!-- Executes tests -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.20.1</version>
</plugin>

这在我的依赖项中:

<!-- Test -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.0.0</version>
</dependency>

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.0.0</version>
</dependency>

和我的测试课:

package org.avalin.optaplanner.test.java;

import org.avalin.optaplanner.json.JsonReader;
import org.junit.jupiter.api.*;

import java.io.FileNotFoundException;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

public class JsonReaderTest
{
    @Test
    @DisplayName("Test: No such file at designated path")
    void testloadFromJsonTest() throws Exception
    {
        Throwable exception = assertThrows(FileNotFoundException.class, 
        ()-> JsonReader.loadFromJson(".json"));
        assertEquals(".json (No such file or directory)", 
        exception.getMessage());
    }

    @Test
    @DisplayName("Test: Load Shifts from JSON (String instead of number)")
    void testLoadShiftsFromJson3()
    {
        Throwable exception = assertThrows(NumberFormatException.class, ()-> JsonReader.loadFromJson(Paths.get("src/main/resources/org/avalin/optaplanner/json/faultyShift-2.json").toAbsolutePath().toString()));
        assertEquals("\nOne or more of your \"shift\" elements has a number format exception.\n" +
            "Check for errors in your JSON-properties.\n" +
            "(Did you insert a string instead of a number in id?)", 
        exception.getMessage());
    }

    @Test
    @DisplayName("Test: JSON is correctly loaded")
    void testJsonIsLoaded()
    {
        assertFalse(JsonReader.jsonIsLoaded());
    }

    @AfterEach
    void cleanJsonReader()
    {
        JsonReader.cleanJsonReader();
    }
}

当我尝试用谷歌搜索这个问题时,似乎唯一可能出错的是命名约定(类必须以 test 结尾或开始,我测试了两者,没有任何更改)并且测试类应该放入适当的文件夹中。

当我跑步时:mvn -Dtest=JsonReaderTest 测试

我得到以下信息:

Failed to execute goal org.apache.maven.plugins:maven-surefire-
plugin:2.20.1:test (default-test) on project optaplanner: No tests were 
executed!  

JsonReaderTest.class 也在目标/测试类中正确生成

这里的罪魁祸首可能是什么?


一起使用 Maven Surefire 插件和 JUnit 5 需要一些调整......

From the docs http://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven:

JUnit 团队为 Maven Surefire 开发了一个非常基本的提供程序,可让您通过 mvn test 运行 JUnit 4 和 JUnit Jupiter 测试。 junit5-maven-consumer 项目中的 pom.xml 文件演示了如何使用它并可以作为起点。

由于 Surefire 2.20 中存在内存泄漏,junit-platform-surefire-provider 目前仅适用于 Surefire 2.19.1。

...
<build>
    <plugins>
        ...
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19</version>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.0.0</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试不通过 Maven 运行? 的相关文章

  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 非 Spring 托管类中 DI 的编译时编织

    我想为标记为的类配置编译时编织 Configurable注释能够将 spring 依赖项注入到初始化的类中new操作员 我不想使用加载时编织 因为我无权访问应用程序服务器的运行脚本 因此无法修改它 另外 我希望能够在测试中使用此类 我的意思
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • 如何使用 Espresso 测试适配器中特定位置的项目

    我正在尝试使用 Espresso 2 0 来验证给定位置的列表适配器项中的文本是否正确 但在我的一生中 我无法找出要调用的正确方法 我的适配器类型 IconRowAdapter 包含一个列表IconRow对象 每个 IconRow 有一个g
  • 识字编程

    识字编程 http en wikipedia org wiki Literate programming是一种软件开发方式 首先是文档 然后是编码 首先编写代码片段的文档 然后编写该代码片段的实现 软件源代码的视觉外观将是一个类似word的
  • AngularJS - ng-hide 与不同的 ng-controller

    这是我的问题 当我双击数组的一行时 我想让页面的几个部分消失 问题是 我不知道该怎么做 基本上 这是我的 html 文件 div div class table table class mainTable tr class tableHea
  • 全日历中的工具提示不起作用

    每个人 我正在尝试在全日历中显示事件的工具提示 但它不起作用并在控制台中显示此消息 未捕获的语法错误 意外的标记 有什么问题吗 这是我的js函数代码 calendar fullCalendar function eventAfterRend
  • TLS 连接超时(以及其他一些困难)

    我有一个 Python 中的 HTTP 客户端 需要使用 TLS 我不仅需要 建立加密连接 还可以从 远程计算机 例如证书颁发者 我需要做 与许多 HTTP 服务器的连接 通常表现不佳 所以我绝对 需要有一个超时时间 对于非 TLS 连接
  • 如何在 C# 中获取 MS Windows 7 内存的当前页面大小?

    如何在 C 中获取 MS Windows 7 内存的当前页面大小 在某些情况下 我们需要它以最佳方式分配内存 谢谢你 更新 这是一个示例代码 我对此有一些疑问byte buffer new byte 4096 Assign values t
  • Uploadify(闪存文件上传)和集成 Windows 身份验证

    我遇到了 Uploadify 的问题 希望有人能提供帮助 我已将 Uploadify 放入我的应用程序中 并且在开发中一切正常 使用 VS Web 服务器 一切正常并经过检查 直到我将应用程序部署到使用集成 Windows 身份验证的测试环
  • 如何将 EncodingType 属性添加到 WSE 3.0 (.NET) 中 UsernameToken 的 Nonce 元素

    我正在尝试使用 WSE 3 0 从 MVC3 NET Web 应用程序调用 Java Web 服务 但是 Web 服务需要 UsernameToken 的 Nonce 元素上有 EncodingType 属性 以下是与此 Java Web
  • 在内核模块中监听 netlink 广播

    SELinux 模块向任何侦听套接字发送 netlink 广播 我想知道是否可以从另一个内核模块中监听 netlink 广播 来自 SELinux netlink 代码 netlink broadcast selnl skb 0 SELNL
  • Ruby On Rails,周数不正确 (-1)

    我需要当前周数 如果我没有完全弄错的话 现在是第 51 周 但是 当在控制台中测试它时 我得到了这个 Time now gt 2013 12 19 11 08 25 0100 Time now strftime U gt 50 Date t
  • 如何从phonegap获取图片到远程XPage?

    我在 iPad 上构建了版本 1 6 的 Phonegap 应用程序 将 ulr 设置为 Domino 服务器上的 XPage 现在我的问题 当我在 iPhone 上拍照并将其上传到我的 XPage 时 使用该功能takePicture 返
  • 如何记录安全访问审核

    我有以下弹簧安全配置
  • android 中具有相应标签的单选组的 TableLayout

    我正在创建一个反馈输入表单 它可以让用户从单选按钮中进行选择 如下图所示 因此 我采用了表格布局 并在第一行中添加了带有固定宽度的文本视图的表格行 并在其余行中添加了带有固定宽度的单选按钮的文本视图 这是布局代码
  • 从超类访问私有变量(JAVA)

    好吧 我整个学期都在学习java 并且认为我对继承和超 子类有了清晰的了解 今天我们的任务是创建一个名为敌人的超类 以及不同类型敌人的子类 我做的一切都很好 我的所有子类都在工作 但是当我回去阅读我们必须遵循的指南时 我发现了这句话 超类的
  • Java 8 javax.net.ssl.SSLPeerUnverifiedException:对等点未经过身份验证,但不是 Java 7

    我在将应用程序从 Java 7 切换到 Java 8 时遇到问题 更改 JDK 后 我开始收到此 SSLPeerUnverifiedException 改回Java 7 也不例外 我发现这个问题 Java 7 的 SSL 连接失败 http
  • 从 SSL 证书中提取序列号

    客户端和服务器持有匹配的证书 当服务器发送通信时 它会解码证书中的序列号并将其传递给客户端 然后 客户端可以从其证书副本中获取序列号 并将其与服务器提供的序列号进行比较 这些应该匹配 证书中序列号的字符串表示形式显示如下 58 17 9B
  • 针对大量出站 HTTP 请求优化 Node.js?

    我的 Node js 服务器有时会变得缓慢或无响应 甚至在尝试连接到服务器时偶尔会导致 503 网关超时 我 99 确定 基于我运行的测试 这种延迟具体是由于我使用节点oauth模块 https github com ciaranj nod
  • 使用 jQuery 循环 XML

    我有一些基本代码 可以循环处理从 Adob e RoboHelp 用于我们的帮助文档 生成的一些 XML 这工作正常 但由于主题可以根据作者的需要嵌套多次 因此我需要一种更好的方法来循环此 XML 而不仅仅是嵌套 each loops XM
  • Python:为什么 print 语句和 subprocess.call() 输出不同步?

    我正在运行以下代码 将其称为batch py for config in keystoneConfig cmdlist generate cmd list config print join cmdlist subprocess call
  • 测试不通过 Maven 运行?

    当我在 Maven 中运行测试时 我得到以下信息 INFO INFO T E S T S INFO INFO INFO Results INFO INFO Tests run 0 Failures 0 Errors 0 Skipped 0