问题标签 [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.
spring-boot - 来自 .properties 文件的 Spring Boot 单元测试 @Value 给出 NullPointerException
我正在尝试从属性文件中读取 Spring Boot 中单元测试用例的值。我有两个config.properties
文件,一个在src/main/resources
:
和一个src/test/resources
:
主要应用类:
要测试的服务类:
服务测试类。我尝试了两种方法来检索src/test/resources/config.properties
文件中的值;一个带有@Autowired Environment
, 一个带有 @Value
注释...都不起作用:
我在 StackOverflow 上的某个地方读到,为了在 Spring 测试类中自动连接组件,我需要为测试创建一个完整的上下文,所以我尝试了这个(更改注释和测试运行器):
上下文已创建,但两种方法NullPointerException
再次以 s 结尾。
java - 如何基于限定符注释以编程方式自动装配 bean
在 Junit5 中,使用 Extensions 时,我们可以运行 BeforeAll 和 AfterAll 方法,我正在尝试使用 Annotations 更改测试的行为。但是,我将这些注释用作 @Qualifiers 以及 bean 初始化,并且希望能够使用测试中标识的 Annotation 来初始化 bean
我希望使用我知道SpringExtension
的 Junit5的限定符注释以编程方式在运行时初始化 Bean
使用它我可以调用 bean 初始化工厂,但我不知道如何使用作为限定符的注释来初始化 bean 我有多个相同类型的 Bean,由限定符标识
我遇到的问题是
目前,我正在使用 AutoWired 静态初始化用户凭据的类型,然后基于我使用预初始化 UserCredential 的注释使用 switch case。
这个想法是有一个测试类@ExtendsWith(ResetPortal.class)
,然后它指示它可以使用哪种类型的用户来重置(测试前登录)。我正在使用 Qualifier Annotations 来表明这一点,然后我可以ExtensionContext
从 Junit5beforeAll
方法中提取它
此外,对于每种类型的用户,我都有一个UserCredential
类和该类的多个 @Bean 定义。
代码
bean定义,使用自定义限定符注解User1Qualifier
我的自定义限定符如下(有多个)
现在,在测试中,我尝试使用 ResetPortal 拾取的相同注释
ResetPortal 类,由于 Junit5 初始化该类并调用它的托管实例,需要单独定义 Autowired 元素
java - SpringBoot:以最少的配置运行 Junit 单元测试
我有一个Springboot
项目,我找到了一种创建和运行简单Junit
测试用例的方法,该测试用例查看存储库并获取给定实体的一些数据属性。运行的结果Junit
是通过,所以没有问题。
但问题就在这里,我已经看到了很多例子,其中教程展示了Springboot
项目,他们可以简单地Junit
只使用@Runwith
或@SpringBootTest
针对特定测试类运行测试。
在我的情况下,我必须添加 3 个注释,@SpringBootTest
以及@RunWith
直到@ContextConfiguation(with parameters)
我能够运行测试用例。
所以我的问题是我如何才能尽可能简约地运行它,(我见过的一些练习对于他们的 springboot 测试类只有一个注释)
我的Springboot
测试类如下所示:
我的目录结构如下所示:
我的application.properties
样子是这样的:
还有我的pom.xml
文件:
那么我是否缺少 application.properties 文件中的某些内容?为了能够在我的测试类中删除“样板”注释,我应该包含哪些内容?
spring - 如何使用spring junit集成测试检查数组中的每个对象是否具有特定属性?
我正在为我的资源类中的一个方法编写一个弹簧集成测试。访问资源方法返回一个 json 响应。我想做一个断言。
以下是我的测试方法。
响应如下
我想要做的断言是数组 histogramDistributionbyCdrStatuses 中的每个对象都有字段 dateRange、total、delivered、undeliverable、expired 和 enroute 存在。我该怎么做 。我也可以使用 hamcrest 匹配器。
非常感谢任何帮助
java - 无法使用 restclienttest 模拟 resttemplate 调用
我想模拟我的RestTemplate
which uses RestTemplateBuilder
。因此,我正在使用restclienttest
.
不幸的是,我无法模拟resttemplate
通话。当Sup supExpected = myService.getDetails("1234")
被调用时,它正在执行完整的后端调用,而不是导致我要求做的事情。
它不是生成自定义 json 字符串“SD”,而是执行实际的 GET 调用并从后端给出响应。
这是我的junit代码:
谁能帮我我的代码有什么问题?
java - JUnit 通过restTemplate 模拟外部休息呼叫
我正在尝试编写一个集成测试,其中在模拟使用 JUnit 调用外部服务器的其余调用时遇到问题。我在服务中添加了@Mock和@InjectMock
服务看起来像这样。
还有另一个服务有 restTemplate 调用
这是测试场景
我正在使用 api 调用控制器,并从那里进入上述服务,该服务具有休息调用但无法模拟实际调用。有人可以在这里指导我吗?
java - 将 lombok 依赖项添加到我的项目时的 TypeNotPresentExceptionProxy
将 lombok 依赖项添加到项目时出现此错误:
并运行我的测试: