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

spring - 如何使用 Dbunit 测试没有休眠实体的表的 Dao

我使用 DbUnit 和数据集为 Dao 编写了一个测试类

这是我的课:

数据集是:

当我运行我的测试用例时,我得到 org.dbunit.dataset.NoSuchTableException: mso_temp

我的问题是我不需要任何实体,因为我正在连接到其他数据库并使用 PreparedStatement 将数据从那里保存到我们的应用程序数据库中的临时表中。如果我创建实体类,则测试用例运行良好。

有什么方法可以让 DBUnit 考虑不存在实体类的表。

0 投票
0 回答
892 浏览

junit - 使用 Cucumber 运行时如何添加 RunListener 和 TestExecutionListeners

我们当前的测试框架使用junit + spring + selenium运行。我们的测试同时使用了 junitorg.junit.runner.notification.RunListener和 spring org.springframework.test.context.TestExecutionListener

这是测试定义的样子:

我的问题是在使用 Cucumber 时我应该在哪里编写驻留在侦听器中的代码

请注意,此代码需要访问 spring 的ApplicationContext.

0 投票
1 回答
7315 浏览

java - 为什么我不能在我的项目中使用 @Before 注释?“之前无法解析为类型”

我在 Spring 应用程序中遇到了一种奇怪的行为。

我正在尝试创建一个这样的 JUnit 测试类:

主要问题是我在setUp()方法的@Before注释上获得错误。它对我说:之前无法解析为类型

似乎找不到@Before注释的依赖项。

这是我在pom.xml文件中的依赖项:

我错过了什么?怎么了?我该如何解决这个问题?

0 投票
2 回答
5098 浏览

java - 使用 spring bean 的 JUnit 规则

我有一个加载测试spring应用程序上下文的测试类,现在我想创建一个junit规则,它将在mongo db中设置一些测试数据。为此,我创建了一个规则类。

现在我在我的测试类中使用这个规则并传递 mongoOperations bean。

问题是 Rule 在加载应用程序上下文之前被执行,因此 mongoOperations 引用作为 null 传递。有没有办法让规则在上下文加载后运行?

0 投票
0 回答
661 浏览

spring - 在 spring-junit 测试类中访问 Spring 配置文件

我正在使用 Spring 4.3.0。我正在编写一个 SDK,其中包含以下类,

提供者.java

ProvidersBuilder.java

我对 Spring-Junit 测试类有以下配置,

SpringContextLoader.java

在我的一个测试课中,我正在尝试打印所有配置文件,

在日志中,我只能看到在 application.properties 中配置的配置文件,但我想获取在 ProvidersBuilder.java 中动态添加的配置文件。

基本上我只会为特定配置文件运行 ProvidersTest,因为我使用以下注释 @IfProfileValue(name = "spring.profiles.active", values = { "charging" }) 因为应用程序上下文总是返回应用程序中配置的默认配置文件。 properties 这个类永远没有机会运行。

谁能帮我解决这个问题。为什么在 ProvidersBuilder.java 中添加的配置文件在 ProvidersTest.java 中不可用?

**编辑 1 **

SpringContextLoader.java

现在我们没有在应用程序的任何地方创建新的 AnnotationConfigApplicationContext。

ProvidersBuilder.java

在 ProvidersBuilder.java 中,使用 @Autowired 获取“AnnotationConfigApplicationContext 上下文”时它返回 null。

0 投票
0 回答
332 浏览

spring - 带有 Spring 测试环境的 JSF

我正在使用 JSF 2.2,并且(和很多人一样)我在测试时遇到了一些困难。

在后端我使用的是 Spring,所以我提供了一些注释来帮助我更有效地进行测试。一个测试与 Spring 相关的东西的类有这个骨架

但是对于 JSF 来说,我不清楚我可以通过以下方式测试一个类

是否可以创建一些“测试环境”,例如后端使用的环境,以测试控制器方法?

是否可以自动注入 @ManagedProperty 类或者是我必须手动设置的任务?

或者我有一个错误的观点,我的想法不正确?

谢谢

0 投票
1 回答
674 浏览

java - 如何使用 mockito 为这个控制器类编写单元测试用例

这是我的控制器类。现在我想使用 mockito 为下面的控制器类编写单元测试用例

谁能帮我解决这个问题?

0 投票
1 回答
2980 浏览

java - 运行 Spring 集成测试时出现“org.springframework.dao.InvalidDataAccessApiUsageException: Multiple representations of the same”

我遇到了一个奇怪的问题,我不确定解决问题的最佳方法是什么。我编写了一些JPA实体类,它们可以很好地保存到数据库中,但是当我在Spring JUnit环境中运行时,出现以下异常:

org.springframework.dao.InvalidDataAccessApiUsageException:正在合并同一实体 [com..xyzAddress#0] 的多个表示。已分离:[com..xyzAddress@48d9d51f];托管:[com..xyzAddress@4a5e389b];嵌套异常是 java.lang.IllegalStateException:正在合并同一实体 [com..xyzAddress#0] 的多个表示。已分离:[com..xyzAddress@48d9d51f];托管:[com..xyzAddress@4a5e389b]

我的实体类类似于以下内容:

我想补充的一条信息是我正在使用 Spring JPACrudRepository进行保存。

我的测试的简单再现如下:

我应该怎么做才能使它在我的测试和实际运行环境中运行良好?谢谢

0 投票
1 回答
4734 浏览

unit-testing - 如何在 Spring JdbcTemplate 中模拟数据源

请帮我模拟下面的代码。无法模拟调用 JdbcTemplate 对象的 getDataSource()。

0 投票
3 回答
10127 浏览

java - 如何通过 MockMvc 使用构造函数注入测试控制器

我有一个带有构造函数注入的控制器

这是一个运行良好的简单类。但是,当我尝试使用以下类运行 JUnit 测试时,出现错误。

错误是:

我对上面的错误消息感到困惑,我怎么能用零参数构造函数注入 userMapper?我知道可以在 MainController 中为 userMapper 添加@Autowired,但是不建议使用字段注入。请任何人指导我一种适合构造函数注入和 MockMvc 测试的方法。谢谢。