问题标签 [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 回答
1163 浏览

java - 使用方面时如何运行 Spring 集成测试?

我正在开发一个 Spring MVC Web 应用程序(目前是 Java 6 和 Spring 3.0.6)。我开始使用扩展 AbstractTransactionalJUnit4SpringContextTests 的 Junit4 编写一些 Spring 集成测试。我通过我们的 Maven 构建或在 EclipseIDE (3.7) 中调用这些。这些测试调用控制器方法(即,在使用@Controller 注释的类中使用@RequestHandler 注释的方法)。

一切都很顺利,直到我将基于方面的日志记录添加到控制器中:

现在,当我通过 Maven 运行测试时,出现如下错误:

在测试中,我在 setUp 方法中从 applicationContext 加载控制器:

如果我注释掉方面,则不会发生此错误。我怀疑它与 Spring 代理控制器有关,然后控制器类无法通过其类名来识别。我尝试在 applicationContext.xml 中将控制器声明为 bean,但这无济于事。在 Eclipse 中运行测试时也会出现这个问题,所以这不是我的 Maven 配置的问题。

我的问题是:如何在测试中检测到控制器 bean?

非常感谢任何帮助 - 在控制器类中向方法添加方面是否错误?我应该在测试时以某种方式禁用方面吗?(虽然理想情况下我希望在集成测试中看到日志记录工作正常)。

非常感谢

理查德

0 投票
3 回答
19261 浏览

java - JUnit:为测试类设置事务边界

我想在任何测试方法开始之前启动数据库事务,并在运行所有测试结束时回滚所有事务。

怎么做?我应该使用什么注释?

0 投票
1 回答
8252 浏览

spring - Spring 测试框架 - JNDI 资源

我正在玩弄 Spring 测试框架,但我有一个问题。通常,当应用程序部署在 Tomcat 上时,我们有

在 Tomcat context.xml 中,

在 web.xml 和

在 data-context.xml 中获取数据源,但是我如何模拟 Spring 测试框架的 JNDI 资源,因为现在在初始化期间我收到了找不到数据源的错误,他是对的。

此外,如果无需编写另一个 .xml 文件就可以做到这一点,那就太好了。

0 投票
1 回答
395 浏览

spring - Spring mvc3应用测试环境搭建

我正在一个 spring mvc3 应用程序下工作。

当我想对 Dao 组件进行一些单元测试时,我遇到了一些问题。

这是我在 Eclipse 中的应用程序结构:

servlet-context.xml:

弹簧上下文.xml:

spring-dao.xml:

这是我的 PostDao 课程:

上述配置在 servlet 容器中运行良好。

但是,当我想在没有 servlet 环境的情况下测试 PostDao 时,我遇到了一些问题。

我试过这个:

然后我得到错误,“mybatis/config.xml”无法创建。

我知道这是由不同的运行环境引起的。

在 servlet 上下文中,spring 会找到“/WEB-INF/mybatis/config.xml”,但是在 java 应用程序中,它找不到它。

所以我想知道如何让我的测试工作?

0 投票
2 回答
6917 浏览

spring - SpringTest 和 afterPropertiesSet

我使用 SpringTest 和 EasyMock 对我的 Spring bean 进行单元测试。

我的测试bean是这样的:

这是我的控制器:

在初始化 bean 时,Spring 会自动调用 afterPropertiesSet 方法。我想用 EasyMock 模拟对 doSomething 方法的调用。

我想在我的测试方法中执行此操作,但 afterPropertiesSet 在进入我的测试方法之前执行,因为 Spring 在初始化 bean 时调用它。

如何使用 SpringTest 或 EasyMock 在 afterPropertiesSet 方法中模拟我的服务?

谢谢

编辑:

我指定 Spring 将模拟服务正确加载到我的 Controller 中。我的问题不是如何创建模拟(已经可以了),而是如何模拟该方法。

0 投票
2 回答
11031 浏览

junit4 - @BeforeClass 和 Spring @TestExecutionListener beforeTestClass() 有什么区别

使用 JUnit @BeforeClass 和 Spring @TestExecutionListener beforeTestClass(TestContext testContext) “hook”有什么区别?如果有区别,在什么情况下使用哪一个?

Maven 依赖项:
spring-core:3.0.6.RELEASE
spring-context:3.0.6.RELEASE
spring-test:3.0.6.RELEASE
spring-data-commons-core:1.2.0.M1
spring-data-mongodb:1.0 .0.M4
mongo-java-driver:2.7.3
junit:4.9
cglib:2.2

使用 JUnit @BeforeClass 注解:

使用弹簧钩:

(1) 覆盖 beforeTestClass(TextContext testContext):

(2) 使用@TestExecutionListeners 注解:

0 投票
1 回答
609 浏览

spring-mvc - Mockito... 春季测试

这是我的测试课..

我的问题是,当我设置它时,第一个测试通过,因为验证是正确的 isValid 被调用了一次,但是第二个失败,因为现在验证抱怨要求 isValid 被调用了两次。我希望 mockito 上的 reset 方法重置每次测试后调用计数..

有人有什么建议吗?

0 投票
4 回答
184 浏览

java - 测试气味....这是好习惯吗?

我有两个测试,它们完全相同...除了两件事,它们调用两个单独的服务调用..因此,当我使用 mockito 时,我有两个单独的期望和验证行...

这就是我所做的:

我认为以上是测试气味...只是感觉不对...

有没有比在我的 baste 测试中放置 If 语句更好的方法?

0 投票
1 回答
590 浏览

spring - 测试post方法Spring

我想测试下面的控制器方法。有没有办法在
模拟请求中添加 Profile 对象?

0 投票
2 回答
11162 浏览

spring-mvc - 如何测试POST spring mvc

我的问题是如何调用它。我可以

但这不是我想做的。我希望 MyObject 在请求帖子正文中吗?如何才能做到这一点?

为了清楚起见,我说的是单元测试。

编辑: