开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
Computer Science
Computer Science

Spring Boot 测试提示错误 TestEngine with ID ‘junit-vintage’ failed to discover tests

提示错误信息: TestEngine with ID 'junit-vintage' failed to discover tests 错误和修改 错误的原因是因为在升级 Spring Boot 2.3 到 2.4 的时候。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> 这是因为 Spring Boot 2.3 升级到 2.4 之前,我们会 exclude junit-vintage-engine 在升级到 2.4 的时候,我们可以取消掉掉这个。     升级到 2.4 后,不再需要上面的代码。 https://www.ossez.com/t/spring-boot-testengine-with-id-junit-vintage-failed-to-discover-tests/13209

2021年01月26日 0Comments 3517Browse 6Like Read more
Computer Science

Spring Boot 进行测试提示 TestContextAnnotationUtils 错误

在 Spring Boot 运行测试的时候提示错误: java.lang.NoClassDefFoundError: org/springframework/test/context/TestContextAnnotationUtils 问题和解决办法 出现上面的问题是因为我们将 Spring Boot 从版本 2.3.3 升级到了 2.4 在依赖 spring-test 中,我们还是定义 5.2.8.RELEASE 了这个版本。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.8.RELEASE</version> <scope>test</scope> </dependency> 如果升级版本到 Spring Boot 2.4 的版本的话,你可以首先取消掉 5.2.8.RELEASE 这个版本的限制。 如果取消掉版本的话,你可以看到 Spring 的测试使用的是 5.3.1 的版本。 上面的错误信息就是因为版本的不同,如果你升级了 Spring Boot 的话,相应的测试版本也需要升级。 当取消掉版本后,再次运行测试。 通过控制台测试就可以看到版本兼容性问题已经解决没有了。 https://www.ossez.com/t/spring-boot-testcontextannotationutils/13208

2021年01月26日 0Comments 783Browse 0Like Read more
Computer Science

Spring Data 测试数据查询测试的时候提示 hibernate.dialect

在使用 Spring Data 测试进行数据查询的时候提示错误: Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set     问题和解决 一般来说这个问题的出现是在你的 Spring Boot 项目中的 application.properties 没有设置 spring.jpa.database-platform 这个参数。通常来说这个参数用于告诉 JPA 应该适配何种数据库。 一般来说配置的参数为: spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect 在 org.hibernate.dialect 后面需要适配你希望使用的数据库类型。可以使用的数据库类型可以自行通过 Google 来进行搜索。 这个配置类型在 Hibernate 的 API 中说明,具体的说明连接请参考不同的 Hibernate 版本。我们在这里找了一个版本:org.hibernate.dialect (Hibernate JavaDocs) 例如,如果你希望适配 Mariadb 的话。     根据上面的配置页面来进行设置,那么设置的参数应该为: spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect 当设置好后重新进行测试,应该就不会提示有上面的错误了。 https://www.ossez.com/t/spring-data-hibernate-dialect/13207

2021年01月24日 0Comments 614Browse 0Like Read more
Computer Science

Spring Boot 测试的一个小调试

我们有一个测试方法: @Test public void testGetREListing() throws IOException, InterruptedException { logger.debug("{}", listingService.getREListingById()); } 这个测试方法的目的是从数据库中查询一条表的记录,然后返回结果。 在运行测试的时候,我们得到一个错误是: java.lang.NullPointerException at com.ossez.edtestbank.service.test.ListingTest.testGetREListing(ListingTest.java:71) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 通俗来说就是 Null 对象异常,其实指的就是 listingService 这个对象是空的。     调试和解决 往上看代码,我们可以看到了,我们已经定义了对象: ListingService listingService; 这个其实就是告诉测试类,我们需要使用 listingService ,在我们的代码中,listingService 其实是一个接口。 虽然我们定义了这个接口,我们却没有进行初始化。 所以可以最简单的就是在上面加一个 Autowired 注解进行自动装配。     然后再启动进行测试。 但是就算添加了注解,还是和上面一样的错误。 这是因为仅仅添加自动装配的注解是不够的,如果你希望使用 Spring Boot 的项目进行测试,不仅仅测试的是一些工具类的话。 你还需要在测试类上面添加一个 @SpringBootTest 注解。这个注解的意思简单来说就是在测试类进行测试的时候,会启动 Spring Boot 的相关配置,包括装载上下文,Bean 的必要的类以便于你能够模拟在 Spring Boot 相同的环境下进行测试。     在添加好该注解后再次启动测试。 如果你能够在测试输出控制台中看到有关 Spring Boot 的输出,则表示Spring Boot 的测试配置已经启动成功了。     至此,你的有关 Spring Boot 的测试应该是可以通过的没有问题的。 https://www.ossez.com/t/spring-boot/13204

2021年01月24日 0Comments 619Browse 0Like Read more
Computer Science

一个叫墨茶的孩子和草莓

一个孩子的离世,就好像匆匆的来到过这个世界,又匆匆的走了一样,当人不在了却被刷屏了,才泛起那么一点点的浪花,没多久这一切也会重归于平静。这是悲哀还是对现实的嘲讽。 一个孩子到死都没有一个所谓的明星出轨的花边新闻来的流量大,这是什么样的一种悲哀。 事情是什么相信很多人都已经刷屏了。 有很多很多的泪点,其中最最重要的就是他想吃草莓。本来很多人包括我自己应该也不是那种非常八卦的人,吃草莓嘛,虽然贵点,还是能够吃得起的。 看到这句话后,突然想到知乎上面有一个问题:你老婆怀孕了,特别想吃草莓。已知草莓40元一斤,经济水平一般的你会买吗? 这个话题。当时还去蹭热点的有模有样的回答过。更主要的是这个问题居然被浏览了 17,186,568 次。仅仅是因为吃草莓的这个话题。 到今天才发现我们都是如此的卑微,一个国家有这么多人都吃不上草莓,一个世界第二大经济体,居然让一个孩子到死都没有吃上草莓。 在写上上面的话以后,偷偷看看了下自己冰箱,然后看了下自己的孩子。草莓这种再稀疏平常的水果居然成了很多人心中的痛,真的是多么的悲哀和卑微。作为一个有孩子的人,为了孩子这不吃,那不吃头疼,吃草莓要洗了,然后切成小块带学校去。水果要给剥皮了放饭盒给带学校去。 一个到死都没有吃上草莓的孩子,这个世界真的给了他太多太多不应该他承受的东西。 山区的孩子 很多人都觉得是山区的孩子,是孩子们太穷了。父母为什么不给孩子们更好的生活,为什么不出去打工,为什么不这个,为什么不那个。 以前也这样觉得,其实何尝不是自己站在道德的制高点去说别人呢。 自己也是半个山区来的人,2004 年通的第一条高速,2014 年才通的第一条高铁。从市到省会,大巴 7 个多小时,火车 5 小时的单线。 要改变自己的命运真的不是键盘侠们,用键盘说说应该怎么样,应该怎么样。没有那么容易,更何况所有的这些重担都压在一个孩子身上。 山区的人走出去没有那么容易,不是所有人都能坐得上高铁,很多很多人只是单纯的希望火车票便宜点,绿皮车慢,但是便宜。 山区的孩子成了被这个世界遗忘的人,这公平吗?这只是因为这些孩子生在山区吗? 真能改变命运 多年前,也不知道是谁说过这样一句话,在中国唯一相对最公平的就只有高考了。 多年前也因为教育产业化,毕业即失业也慢慢在蔓延。很多人相信通过自己的努力能改变命运,但是很多人包括我不知道,要改变命运需要社会的公平。 这个公平不是说金钱的公平,也不是说地位的公平,说的是机会的公平。 仰天长问,现在还有多少公平的机会? 作为一个普通人,有多少公平的机会能够改变自己的命运? 我们的命运真的在自己手上吗?我们真的能改变自己的命运吗? 他给了什么 一个到死都没有吃上草莓的孩子,成功戳中了泪点。 一个山区的孩子,真的是因为他生在山区,就应该承受这一切吗? 很多年已经没有学会去反思,反省了。不管别人怎么看,这个孩子真是太不容易了。是时候有所有人都应该反省下了。不是因为这个事情没有发生在自己身上就没有关系。 我们在抱怨这个社会的时候,我们自己又做了什么? 看到了一个顽强的生命,看到了一出悲剧。 怜悯的希望人世间,再少点,再少点这种悲剧。 https://www.ossez.com/t/topic/13203

2021年01月23日 0Comments 604Browse 0Like Read more
Computer Science

@DataJpaTest 注解测试提示错误 Wrong user name or password

提示的错误信息如下: Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:461) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) at org.h2.message.DbException.get(DbException.java:205) at org.h2.message.DbException.get(DbException.java:181) at org.h2.message.DbException.get(DbException.java:170) at org.h2.engine.Engine.validateUserAndPassword(Engine.java:357) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:176) at org.h2.engine.Engine.createSession(Engine.java:166) at org.h2.engine.Engine.createSession(Engine.java:29) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:340) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152) at org.h2.Driver.connect(Driver.java:69) at org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:144) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:179) at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory$EmbeddedDataSourceProxy.getConnection(EmbeddedDatabaseFactory.java:263) at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:43) 在默认情况下 DataJpaTest 测试将会使用 H2 数据库载入内存后进行测试。 如果你的配置不正确将会提示用户名和密码错误。 所以我们可以选择 DataJpaTest 不载入 H2 进行测试。     问题和解决 解决办法是添加下面这句话: @AutoConfigureTestDatabase(replace= AutoConfigureTestDatabase.Replace.NONE) 在测试类中,添加上上面这句话将会告诉 Spring Boot 的测试从 application.properties 文件中载入数据库配置信息。     上面的意思是不使用 H2 数据库,而使用 Spring Boot 的配置数据源。 最好的办法就是使用 @SpringBootTest 来进行测试。 https://www.ossez.com/t/datajpatest-wrong-user-name-or-password/13202

2021年01月23日 0Comments 757Browse 0Like Read more
Computer Science

@DataJpaTest 注解测试提示 No ServletContext set 错误

错误日志如下: Caused by: java.lang.IllegalStateException: No ServletContext set at org.springframework.util.Assert.state(Assert.java:76) at org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.resourceHandlerMapping(WebMvcConfigurationSupport.java:534) at com.ossez.edtestbank.service.configuration.WebMvcConfiguration$$EnhancerBySpringCGLIB$$59adf8c3.CGLIB$resourceHandlerMapping$26(<generated>) at com.ossez.edtestbank.service.configuration.WebMvcConfiguration$$EnhancerBySpringCGLIB$$59adf8c3$$FastClassBySpringCGLIB$$10ed65cd.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) at com.ossez.edtestbank.service.configuration.WebMvcConfiguration$$EnhancerBySpringCGLIB$$59adf8c3.resourceHandlerMapping(<generated>) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 77 more 问题和解决 出现这个问题的原因是你尝试 使用 @DataJpaTest 来对Spring Data JPA 数据进行测试。 在这个测试的时候,很有可能是因为你没有注入所有需要的类。 最简单的办法是使用: @SpringBootTest 注解来替换掉 @DataJpaTest 进行测试。     使用 SpringBootTest 测试能够载入所有的上下文,以避免测试中的问题。 https://www.ossez.com/t/datajpatest-no-servletcontext-set/13201

2021年01月23日 0Comments 771Browse 0Like Read more
Computer Science

Discourse 主题和回复的日期如何查看

在默认的界面中,Discourse 将会按照下面的方式进行显示主题和回复的时间。 显示的内容不是非常多,让人有点迷糊,其实这也是 Discourse 简约化显示的表现。 如果你希望了解更详细的内容,你需要将鼠标放到时间上,上面的时间将会显示发布的具体的时间,包括是几点钟发布的。     在进入主题或者回复的具体页面后,将鼠标移动到时间上,你也可以看到当前主题发布的具体时间。     简单来说,Discourse 的设计逻辑就是将鼠标移动到特定的位置后才能查看时间有关的详细信息。 https://www.ossez.com/t/discourse/13200

2021年01月20日 0Comments 746Browse 0Like Read more
Computer Science

Discourse 如何查看主题的查看数量

针对一个主题的查看数量,在 Discourse 的首页上就可以看到了。     但是进入主题内的话,发帖数量是没有办法看到的。 这个原因是你的主题上面没有回复。 如果某一个主题至少有一个回复的话,那么在主题的下面将会看到一个长方形的对话框。 在这个对话框中有一些主题的基本参数,在这里你可以看到当前主题的的发帖数量。     要显示这个框,主题必须要至少有一个回复才可以。 https://www.ossez.com/t/discourse/13199

2021年01月20日 0Comments 627Browse 0Like Read more
Computer Science

Confluence 删除的页面会完全删除吗

都知道可以对 Confluence 的页面进行删除,那么在删除 Confluence 的页面后,页面会被完全删除吗? 说明 在删除 Confluence 页面后,Confluence 的删除页面是不会删除的,会被放到一个类似回收站的地方。 Confluence 的站点管理员可以查看删除的页面,然后选择是否完全清理或者回复。 在 Confluence 的空间中选择左下角的内容工具。 然后在内容工具中找到 Trash,在 Trash 中可以看到所有已经删除的页面。     在这个页面上有一根 Purge All。 如果你不想保留这些页面的话,你可以选择 Purge All,单击后所有 Trash 中的页面将会被永久从空间中删除。 在 Confluence 中,这个就等于是一个回收站的性质。 所以,当在页面删除的时候 Confluence 的页面是没有完全删除的,只是在页面上打了一个标记而已。 https://www.ossez.com/t/confluence/13198

2021年01月20日 0Comments 822Browse 0Like Read more
1…111112113114115…237
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (516)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1