问题标签 [spring-test]

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 回答
8637 浏览

java - 如何解决 Spring Controller 测试用例中的 NoSuchMethodError?

并为控制器编写测试用例,例如为 Spring Controller 类编写测试用例:

TestXController.java

任何人都可以指导我为 Spring Controller 类编写测试用例,或任何代码示例链接。

谢谢和问候,维努·戈帕拉·雷迪。

0 投票
3 回答
29326 浏览

spring - Spring @Transactional 在 JUnit 测试中不起作用?

我正在使用 Spring 3.2、Hibernate 和 JUnit 4。

我的道课如下:

@Transactional public class SomeDaoImpl implements SomeDao {

如果直接从 Web 应用程序执行,则此工作的更新操作。但是,我看到执行更新方法的 junit 集成测试实际上并没有持久化更改。执行junit方法时是否有回滚事务?

0 投票
1 回答
157 浏览

java - 如何收听测试套件更改以更改某些配置

我有许多 Spring Test 类(使用 定义@RunWith(SpringJUnit4ClassRunner)),我想将它们分组到测试套件中,以便为每个套件而不是每个测试类加载一次新配置。

现在我TestExecutionListener对每个 Spring 测试都有一个监听器,它将重新加载配置,但我想保存它,因为许多测试共享相同的配置。

遗憾的是,Spring既不支持监听JUnit TestSuites,也不JUnit支持 s 的监听器概念TestSuite

0 投票
1 回答
2126 浏览

spring - @Resource dataSource mappedName - 覆盖以在非 JNDI 环境中进行测试

我有一个我们在 Jboss 中部署的现有服务 bean。不幸的是,它的数据源引用被配置为通过 JNDI 服务的“mappedName”查找注入数据源引用。

我想在非 JNDI 环境中测试 bean。当我在非 JNDI 环境中运行时,我希望得到这个异常。

我意识到解决这个问题的最快方法是删除 mappedName 限制,因为那时生产或测试 spring 上下文可以定义数据源。但在我不能这样做的情况下。有没有办法通过测试弹簧上下文定义 InitialContext 以避免上述异常。

0 投票
1 回答
294 浏览

java - 能够通过 DependencyInjectionTestExecutionListener 在 Spring TestContext 中避免重复加载应用程序上下文

假设我有一个名为 ServiceTest 的测试类,它具有三个测试方法 test1、test2 和 test3。这三种方法都使用了一些由 spring 提供的资源。在当前的事态下,如果spring上下文的加载有问题,每个测试方法都会重试上下文加载。有没有一种方法可以让它在第一次失败时通过现有的挂钩而中止?这背后可能有充分的理由——但我不欣赏它。任何指针都会有所帮助。真正的问题是上下文加载需要几分钟,如果它已经第一次失败,并且只是试图延长 CI 引擎报告失败所需的时间,那么它对于继续重新尝试加载上下文是没有用的。

我正在考虑向 Spring Guy 提出一个补丁,该补丁可以在 org.springframework.test.context.TestContext 中维护一个尝试映射,该映射可用于跟踪所做的尝试并避免一遍又一遍地尝试。想法?

0 投票
2 回答
4806 浏览

java - 从 spring 执行 sql 脚本时“用户缺少权限或找不到对象”

我正在使用 Hibernate 3 和 Spring 3。我一直在尝试填充内存数据库,并且我正在使用 Spring 来执行此操作。当我尝试这样做时,我感到很沮丧,并且这个堆栈跟踪:为了节省你们的阅读时间,例外是:

我暂时想说我的问题是没有创建表,但我不确定。我已遵循有关创建数据库的所有指示,但在阳光下的每种组合都行不通。这是我的 context.xml:

我想要做的就是使用脚本文件来填充这个数据库。不要说我的 sql 错了,因为我知道事实并非如此。有人有什么想法吗?

0 投票
9 回答
201733 浏览

java - 如何在 Spring 测试中设置环境变量或系统属性?

我想编写一些测试来检查已部署 WAR 的 XML Spring 配置。不幸的是,有些 bean 需要设置一些环境变量或系统属性。使用 @ContextConfiguration 的便捷测试样式时,如何在 spring bean 初始化之前设置环境变量?

如果我用注释配置应用程序上下文,我看不到在 spring 上下文初始化之前我可以做某事的钩子。

0 投票
4 回答
15307 浏览

spring - 使用 spring-test-mvc 在 Spring 控制器测试中未注入服务

我正在尝试为使用 Spring MVC 3.1.1 创建的 Restful API 服务器构建一组单元/集成测试。

我正在尝试使用Spring-test-mvc

我对 Spring 比较陌生,因此对 spring-test-mvc 比较陌生。

我将包含我的代码的相关部分,让您了解我的结构:

采购控制器:

购买服务:

购买DAO:

摘要JpaDAO:

这是我的控制器测试:

抽象控制器测试:

控制器测试配置:



通过 Eclipse 的 JUnit 运行测试时出现以下错误:

关于为什么我的 PurchaseService 没有创建和注入的任何想法?


更新

所以我将我的购买服务 Bean 添加到 ControllerTestConfig ......现在我收到关于我的 purchaseDAO 的错误。

如何将此添加到我的 ControllerTestConfig?它必须嵌套在购买 Bean 中吗?

我将 PurchaseDAO bean 添加到 ControllerTestConfig。

更新 2

所以现在我在将一个 EntityManagerFactory Bean 添加到我的 ControllerTestConfig 后得到一个空指针异常!

有任何想法吗?谢谢

0 投票
1 回答
1553 浏览

spring - DBUNIT 和 Spring .. 无法加载数据集文件

我正在尝试测试我的 dao 层。所以我创建了一个嵌入式数据库。在我的 junit 测试中,我正在努力加载数据:

所以我的创建脚本是:

CREATE SCHEMA test_schema AUTHORIZATION DBA;

创建表 test_schema.tableOne (....)

创建数据库后..我尝试使用加载数据

我的数据集文件看起来:

在尝试执行上述操作后,我得到用户缺少权限或找不到 TABLEONE 对象...

(顺便说一句,我的数据库是使用 spring 3 嵌入式 hsql 创建的)

有任何想法吗?

0 投票
1 回答
996 浏览

spring - testExecute(com.abc.action.PasswordHintActionTest): 加载 ApplicationContext 失败

我正在使用 Spring 测试框架编写单元测试,使用 maven 作为构建工具。我已将我的 applicationcontext.xml 文件放在 WEB-INF 目录中,如下所示。

在此处输入图像描述

我也将相同的配置文件放在 src/main/resources 目录中(这是因为,maven 抱怨它在打开这些测试用例时找不到这些配置文件)

以下是我在运行 maven clean install 时收到的错误消息

在此处输入图像描述

这就是我为单元测试加载 applicationcontext.xml 文件的方式

在此处输入图像描述

任何人都可以帮助我找出为什么当我放置这些文件时它说找不到这些配置文件事件。

更新 :