草庐IT

non-test

全部标签

java - 为什么 JUnit 5 测试不从抽象类继承 @Test 注解?

我刚刚意识到(在将遗留代码从JUnit4迁移到JUnit5时)我们的一些测试方法没有执行,因为它们没有@Test注释。他们没有它,因为它们覆盖了抽象父类(superclass)(存在注释的地方)的方法。我可以通过向每个方法添加@Test轻松解决此问题。但我想知道这是否是预期的行为。它从JUnit4更改为5,但我在officialJUnit5UserGuide中找不到任何相关信息或其他任何地方。根据thisquestion,注解通常不被继承。但似乎这是在新的JUnit版本中有意更改的。(或者我错过了什么?)抽象测试类importorg.junit.jupiter.api.Test;abs

java - 如何确定我的 JDK11 版本是 "free"还是 "non-free"?

众所周知,Oracle在Java11中更改了Java许可证,要求JDK的商业用途需要付费许可证。然而,使用OpenJDK仍然是免费的。我的PC上有一个JDK11文件夹,如下所示:在这些文件夹中有什么方法可以判断我拥有的是免费的OpenJDK版本还是需要付费许可的OracleJDK版本? 最佳答案 您会在JDK的根目录中看到一个名为release的文件。用文本编辑器打开它并检查它是否包含该行BUILD_TYPE="commercial"如果是这样,那么它就是一个商业构建。这是我安装11.0.1OpenJDK时的样子:IMPLEMENT

java - 测试调用 : how to do set up common to all test suites

有没有办法知道JUnit4测试类是否由测试套件启动?我有全局的东西,我想在所有测试之前运行(关于内存数据库),所以我想在测试服中做它。但是,我仍然希望能够在没有测试服的情况下一次启动一个测试,所以我需要知道我是否需要在测试的@Before部分初始化全局事物......有人知道吗如果它是可能的? 最佳答案 有几种方法可以实现这一点。最简单和最简单的方法是在套件的开始和结束时运行一个“测试”,它会设置您的数据库,然后设置一个全局标志。在您的@Before和@After测试中,您检查此标志,并在必要时进行设置/拆卸。@RunWith(Su

java - @JsonInclude(Include.NON_NULL) 没有按预期工作

我在Response类上添加了@JsonInclude(Include.NON_NULL)注释。@JsonInclude(Include.NON_NULL)publicclassResponse{@JsonPropertyprivateStringmessage;//getter-setters}如果值为null,则该属性不包含在JSON中但我仍然将此属性作为NULL。{"message":null}可能是什么原因?我错过了什么吗? 最佳答案 我试过了@JsonSerialize(include=Inclusion.NON_NULL

java - 如何解决 At-clause should have a non-empty description? - 检查样式 - Java

我在eclipseluna的checkstyle插件中使用googlejava样式。在我的java文档中看到此错误,但似乎无法找到解决方法。它很小,但它困扰着我。我的javadoc:/***Thisisadescriptionofsomething**@throwsException*/错误在@throws行,错误:At-clauseshouldhaveanon-emptydescription 最佳答案 通常,你应该写*@throwsExceptionwhenthisexceptionalconditionhappens例如*@t

java - 无法在 Spring Boot Test 1.5 中设置运行时本地服务器端口

我正在为我的应用程序使用SpringBoot1.5。在集成测试中,我想获取Web服务器的运行时端口号(注意:TestRestTemplate在我的情况下没有用。)。我尝试了几种方法,但似乎都不起作用。以下是我的方法。第一种方法@SpringBootTest(classes=TestConfig.class,webEnvironment=WebEnvironment.DEFINED_PORT)publicclassRestServiceTest{@LocalServerPortprotectedintport;在我的src/main/resources/config/applicatio

Java 8 流 : get non repeated counts

这是输入和输出的SQL版本:withtab1as(select1asidfromdualunionallselect1asidfromdualunionallselect2asidfromdualunionallselect2asidfromdualunionallselect5asidfromdual)selectidfromtab1groupbyidhavingcount(id)=1;OutputisId=5andcountis1因为5是非重复的。我如何使用JAVA8流实现它?我在下面尝试过,但显然它给出了错误的结果ListmyList=newArrayList();myList.

Java NIO : How to know when SocketChannel read() is complete with non-blocking I/O

我目前正在使用非阻塞SocketChannel(Java1.6)作为Redis服务器的客户端。Redis直接通过套接字接受纯文本命令,由CRLF终止并以类似方式响应,一个简单的例子:SEND:'PING\r\n'RECV:'+PONG\r\n'Redis还可以返回大量回复(取决于您的请求),其中包含许多以\r\n结尾的数据部分,所有这些都作为单个响应的一部分。我正在使用标准的while(socket.read()>0){//appendbytes}循环从套接字中读取字节并将它们重新组装到客户端回复中。注意:我没有使用选择器,只是连接到服务器的多个客户端SocketChannels,等待

java - 使用 maven : run jar before tests and terminate after 进行集成测试

我有一个可运行的jar,我想在我的集成测试开始之前(在pre-integration-test上)在一个新进程中运行它,并在我的集成测试完成后让它终止(在集成后测试).我可以使用的东西之一是maven-antrun-plugin或exec-maven-plugin在pre-integration-test上启动新进程,但如何终止它?对于我想要实现的目标,也许有更好的解决方案?PS:我在Windows和Linux上构建我的项目,所以可移植性对我来说很重要。 最佳答案 您可以使用maven-process-plugin由BV开源以分别启

java - 错误 : non-serializable attribute value into ViewMap

我在2个系统(笔记本电脑)中有相同的应用程序,但它在一个系统中工作但在另一个系统中不工作。我在另一个系统中收到以下错误。我还发布了下面的代码。我想要做的是级联下拉菜单,其中包含一个调用不同托管bean方法的按钮,以及一个用于在数据库中添加记录的placeOrder按钮。但我在页面时收到以下错误加载中WARNING:Settingnon-serializableattributevalueintoViewMap:(key:stockOrderBean,valueclass:beans.stockOrderBean)SEVERE:ErrorRenderingView[/ClientTemp