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

hibernate - 事务未在 Spring Test 中回滚以进行删除操作

不知何故,我的测试在进行 Spring 测试时没有回滚删除事务。数据被永久删除。我正在使用 Spring-Hibernate 组合。

这是我的测试课:

我可以在控制台上看到消息“帐户再次为空”,它应该是。正如它在测试中一样。但是测试完成后。在数据库中,ID 为“87EDA29EBB65371CE04500144F54AB6D”的记录被永久删除!它应该在测试完成后回滚。我真的很困惑为什么交易没有回滚。

这是我的 testApplicationContext.xml 条目:

0 投票
3 回答
6447 浏览

spring - 如何编写多个测试的弹簧测试套件并运行选择性测试?

我在一个测试类中有很多弹簧测试方法。我只想进行选择性测试。所以我想在同一个班级创建一个测试套件。

}

如果我运行这个 Class TestersChoice,所有测试都会运行!我只想运行 testReadAccount 而不是其余的。我想创建套件来运行选择性测试。(我想避免删除 @Test 以上测试方法来实现这一点)类似于 jUnit testcase 的东西。这就是我能够通过将 TestersChoice 类扩展到 TestCase 并插入此方法来做到的:

但是现在我没有扩展 TestCase 所以我无法将 TestersChoice 实例添加到套件中!

如何进行选择性测试?

0 投票
3 回答
27923 浏览

spring - 使用 Junit 的 Spring 测试会话范围 bean

我有一个会话范围的 bean,它保存每个 http 会话的用户数据。我想编写一个 Junit 测试用例来测试会话范围的 bean。我想编写测试用例,以便它可以证明每个会话都创建了 bean。有关如何编写此类 Junit 测试用例的任何指针?

0 投票
5 回答
15529 浏览

java - 使用 maven-surefire 运行测试时,Spring-Autowiring 发生在 @BeforeClass 之后

我在依赖注入(Spring 自动装配)和 maven-surefire 方面遇到了一些问题。以下测试在 Eclipse 中使用 TestNG 运行时没有问题: 注入服务对象,然后@BeforeClass调用 - 方法。

但是,当我使用 maven-surefire 运行相同的测试用例时,首先调用 setup(),这会导致测试失败:

我怎么解决这个问题?如果我用它替换@BeforeClass它,@Test它可以在 Maven 中工作,就像在 TestNG 的 eclipse 插件中一样。

maven-surefire-插件:2.7.2

Eclipse:Helios 服务版本 1

jdk1.6.0_14

测试NG:5.14.10

0 投票
1 回答
1692 浏览

spring - 正确使用子类化 spring ContextLoader 进行测试

对于我的带有 junit 的 spring 应用程序的集成测试,我正在子类化org.springframework.test.context.ContextLoader,因为我想使用已经存在XmlWebApplicationContext的来连接我的测试类,如下所示:

我的 ContextLoader 的实现如下:

公共类 MyContextLoader 实现 ContextLoader {

loadContext(...)方法中放置断点时,我可以调用 getBean(AccountDao.class) 并且一切正常。但是,似乎我的测试类实际上不是自动装配的。我调试了一下并逐步完成了spring代码,似乎在方法 AbstractAutowireCapableBeanFactory.populateBean(String beanName, AbstractBeanDefinition mbd, BeanWrapper bw) 中没有为我的类Test设置PropertyValues。

也许,我是否设置了注释处理错误?

代码信息:正如您可能猜到的那样,我正在做一个集成测试,因此启动了一个嵌入式 tomcat 服务器来测试我的 RESTful web 服务。我的帖子中显示了如何从嵌入式 tomcat 获取应用程序上下文:使用嵌入式 Tomcat 6 访问 Spring

我期待着您的回复。埃里克

0 投票
1 回答
214 浏览

java - 加载 xml 文件时 Spring MVC 测试错误

我的代码有效,但在下一行的 Junit 模拟测试中失败。

ApplicationContext ctx = new ClassPathXmlApplicationContext("../MyFile.xml");

我该如何解决?

添加@ContextConfiguration 还是有其他方法?

"ApplicationContext ctx = new ClassPathXmlApplicationContext("../MyFile.xml");" 此行在普通方法中,不在测试类中

0 投票
1 回答
219 浏览

java - 项目布局和弹簧测试支持问题

我们的项目布局如下。

源代码

源/测试/java

源/测试/资源

而且我们不能为代码添加 src/main/(java, resources),因为之前的开发完成了。

src/test/java 在与 src 文件夹中的被测类相同的包中具有单元测试和集成测试。

单元测试在当前设置中运行良好,但运行集成测试存在问题。

当测试类和配置文件在被测类旁边时,集成测试运行得非常好,在 src 文件夹和与类相同的包中。

但是当我将测试类放在 src/test/java 和 src/test/resources 中的配置文件时,由于上下文初始化问题,测试无法运行。

请注意以下有关环境设置的信息

1 为所有 src 、 src/test/java 和 src/test/resources 构建输出文件夹只是 src 文件夹。

2 我正在使用 classpath*: 来指定配置位置,否则 spring 无法在资源文件夹中找到配置文件。

3 为测试类尝试了基于 @Autowired 和 setter 的 DI

请解释什么可能是问题的原因和任何解决方案。

当集成测试在 src 文件夹中与被测类一起时,一切正常。
我怀疑当弹簧创建上下文时不同的源文件夹(src 和测试)创建问题,因为被测类与测试不在同一个源文件夹中。

谢谢 nBhati

0 投票
1 回答
717 浏览

java - 有没有办法在测试环境中运行 junit / TestNG 测试用例?

我是弹簧框架的新手。我在rails框架方面有一些经验。

我计划创建 3 个环境(测试、开发、生产)

我在我的pom文件中为每个环境创建了配置文件,

如果我想改变环境,我必须手动将活动状态更改为真/假。

更改环境后,我的整个应用程序都在该环境中运行。

我的问题是,

“有没有办法在测试环境中运行junit / TestNG测试用例而不改变 pom 文件中的任何内容?”

谢谢,

乔恩

0 投票
5 回答
19921 浏览

java - 尝试使用 Spring 运行 jUnit 测试时出现 NoSuchFieldError

到目前为止,我有两个测试。一个只使用 jUnit 框架并且工作正常。另一个使用 spring-test 库,每次我尝试运行它时都会创建这个异常。任何想法可能导致问题?

错误

Maven 测试依赖

依赖树

0 投票
1 回答
10587 浏览

spring - Spring jUnit 测试 - 无法自动装配或找不到 appContext.xml

我正在对基于 spring 的应用程序 atm 进行单元测试。首先问题是,如果我没有在服务器上启动应用程序一次,单元测试都会失败。如果我确实首先在服务器上启动应用程序(然后停止它),那么我的单元测试正在运行。

在不启动服务器的情况下,我收到以下错误:

我的单元测试定义如下:

所以就像我说的,如果我之前启动过一次应用程序,一切正常。

所以我将配置位置更改为 locations = { "classpath/META-INF/spring/applicationContext-test.xml" }) 但毫不费力,与上面提到的相同异常。

更进一步的唯一方法是这个位置:locations = {"classpath*:applicationContext-test.xml"}) 然后我得到这个异常:没有找到类型为 [javax.sql.DataSource] 的匹配 bean 依赖项:至少预期1 个有资格作为此依赖项的自动装配候选者的 bean。依赖注释:{}

但这很令人困惑,因为我的测试上下文文件中肯定有一个数据源:

EIDT 2

认识到问题在于 RunWith(...) 并同时扩展 spring 类并从位置路径中删除所有通配符。我得到这个例外:

我真的很感激任何帮助!

提前致谢