问题标签 [spring-junit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
795 浏览

unit-testing - SpringJUnit4ClassRunner - 为每个测试重新加载上下文,即使使用了相同的上下文

这是我们单元测试的基类:

所有单元测试都扩展了这个类。

当我在 Eclipse 中本地运行测试时(使用 Run As > Unit Test),测试运行大约 5 秒,因为所有测试共享相同的上下文并且它只加载一次。

但是,当我使用 mvn 测试目标运行它们时,大约需要 5 分钟。查看日志后,我看到每次测试都在加载应用程序上下文。我们在 Jenkins CI 服务器上运行它需要同样的时间(5 分钟)。

不知道发生了什么。在 spring 文档中,它声明即使使用 maven 也应该重用 appContext,但这里不是这种情况。

任何帮助,将不胜感激。

更新: 我在打开调试标志的情况下运行 mvn,我看到每个测试都生成了一个新的 JVM:

分叉命令行: cmd.exe /X /C "java -Xverify:none -jar S:\git\picaxo21\picaxo\picaxoService\target\surefire\surefirebooter8169952914558366417.jar S:\git\picaxo21\picaxo\picaxoService\target\ surefire\surefire8550033206398936560tmp S:\git\picaxo21\picaxo\picaxoService\target\surefire\surefire_05655453605766528120tmp"

分叉命令行: cmd.exe /X /C "java -Xverify:none -jar S:\git\picaxo21\picaxo\picaxoService\target\surefire\surefirebooter4002024477779069323.jar S:\git\picaxo21\picaxo\picaxoService\target\ surefire\surefire6735432532690834115tmp S:\git\picaxo21\picaxo\picaxoService\target\surefire\surefire_17783676008756503456tmp"

分叉命令行: cmd.exe /X /C "java -Xverify:none -jar S:\git\picaxo21\picaxo\picaxoService\target\surefire\ 7874269889863176184.jar S:\git\picaxo21\picaxo\picaxoService\target\ surefire\surefire2050758518148174678tmp S:\git\picaxo21\picaxo\picaxoService\target\surefire\surefire_27591156970671336255tmp"

我正在使用 forkCount=1 和 reuseForks=true 所以我不确定为什么会这样。任何线索?

父 POM:

0 投票
3 回答
27812 浏览

hsqldb - Junit HSQLDB - 用户缺少权限或找不到对象 - THIS_.oh-ordnbr

当我的列名包含连字符“-”时出现异常

模式定义:这是用于创建模式的查询。

错误如下:

有人可以帮我解决这个问题吗?

0 投票
1 回答
754 浏览

java - 带有会话对象的 Spring Junit - 在控制器中不可见

简单测试类具有以下内容:

..

Controller 类具有以下内容:

问题:为什么会话没有 FOO?什么不见​​了?..

0 投票
1 回答
1195 浏览

java - 如何模拟 getNamedParameterJdbcTemplate()

我正在尝试模拟扩展 NamedParameterJdbcDaoSupport 的 DAO 实现类

这是我的 DAO 界面的样子:

这就是我的实现类的方式:

我想要实现的是编写一个模拟测试用例来模拟调用的行为

所以我想实现类似的东西

我找不到这方面的任何信息。有人可以指导我。这个怎么做?

0 投票
0 回答
444 浏览

java - 使用 Spring-Junit4 未在 HsqlDb 中运行本机查询

我的 DAO 中有一个查询 Oracle 数据库的方法,它在应用程序中运行良好。但是对于测试,我们使用 Hsqldb 并使用 Spring-junit 进行测试。相同的方法在测试期间返回错误,因为据我所知 HSQL 不支持子查询,所以我得到:

引起:org.hsqldb.HsqlException:意外令牌:需要启动:)

你能帮我谈谈在这种情况下如何进行吗?是否可以使用 Spring 模拟此方法以不真正进行调用,但通过配置给我一些预定义的结果?

任何建议都将非常受欢迎!

这是方法:

0 投票
2 回答
171 浏览

java - windows环境下删除文件失败

我在windows环境下工作。

在我的tearDown()方法中,deleteSucceeded返回 false。

文件永远不会被删除,尽管它位于所需的位置。

奇怪的是:

在 unix 环境中,相同的代码运行良好。

见下课:

更新:

我分析了这个错误,发现问题出在其他地方。

当我在调试模式下运行测试时,控件转到以下代码块:

这发生在调用delete()方法之后。

笔记:

我的文件没有在其他任何地方打开,因此delete()调用不会像在 Windows 环境中那样删除它。

错误日志:

0 投票
3 回答
146556 浏览

java - Spring jUnit 测试属性文件

我有一个 jUnit 测试,它有自己的属性文件(application-test.properties)和它的 spring 配置文件(application-core-test.xml)。

其中一种方法使用由 spring config 实例化的对象,即 spring 组件。类中的成员之一从我们的主要属性文件 application.properties 派生其值。通过 jUnit 访问此值时,它始终为空。我什至尝试将属性文件更改为指向实际的属性文件,但这似乎不起作用。

这是我访问属性文件对象的方式

0 投票
1 回答
833 浏览

java - 如何使用 AssertJ 检查一个属性值计数的对象列表?

就像我添加了 200 个对象作为 true 即 isChanges 值,剩下的都是 false 出 1000 个;它会变成 300 赞。

那么如何使用assertJ检查wheather列表是否包含200个对象isChange值是否为真

0 投票
2 回答
1037 浏览

spring - 使用 Spring JPA 进行单元测试 - @Autowired 不起作用

我有一个单元测试和一个助手类。不幸的是,Helper 类的自动装配不起作用。它在 MyTest 类中运行良好。

我想避免使用 setter,因为我有 10 个这样的对象,并且不同的测试有不同的对象。那么让@Autowired 在 Helper 类中工作需要什么?谢谢!

0 投票
2 回答
7111 浏览

java - Java Spring MVC - java.lang.NoClassDefFoundError: javax/servlet/ServletContext

我正在尝试为我的 Java Spring 应用程序编写一些 JUnit 测试,但我不断收到此错误java.lang.NoClassDefFoundError: javax/servlet/ServletContext
测试类:

pom.xml:

AppConfig.java

异常跟踪:

这是我第一次编写 JUnit 测试,所以我不知道你们是否需要额外的信息。如果是这样,我很乐意提供他们:)