在我的spring boot应用程序中,我想在所有@Configuration
测试中仅使用测试配置(尤其是我的@EnableAuthorizationServer @Configuration
类)覆盖我的一个类。
到目前为止,在对Spring Boot测试功能和Spring Integration测试功能进行概述之后,还没有一个简单的解决方案浮出水面:
@TestConfiguration
:用于扩展,而不是覆盖;@ContextConfiguration(classes=…)
并@SpringApplicationConfiguration(classes =…)
让我重写整个配置,而不仅仅是一个类;@Configuration
a 内部的类@Test
来覆盖默认配置,但未提供示例。内部测试配置
用于测试的内部@Configuration的示例:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SomeTest {
@Configuration
static class ContextConfiguration {
@Bean
@Primary //may omit this if this is the only SomeBean defined/visible
public SomeBean someBean () {
return new SomeBean();
}
}
@Autowired
private SomeBean someBean;
@Test
public void testMethod() {
// test
}
}
可重复使用的测试配置
如果你希望将测试配置重用于多个测试,则可以使用Spring Profile定义一个独立的Configuration
类@Profile("test")
。然后,让你的测试班级通过激活配置文件@ActiveProfiles("test")
。查看完整的代码:
@RunWith(SpringRunner.class)
@SpringBootTests
@ActiveProfiles("test")
public class SomeTest {
@Autowired
private SomeBean someBean;
@Test
public void testMethod() {
// test
}
}
@Configuration
@Profile("test")
public class TestConfiguration {
@Bean
@Primary //may omit this if this is the only SomeBean defined/visible
public SomeBean someBean() {
return new SomeBean();
}
}
@Primary
在@Primary
对bean定义标注为确保这一具有优先权如果不止一个被发现。
问题内容: 在我的spring boot应用程序中,我想在所有测试中仅使用测试配置(尤其是我的类)覆盖我的一个类。 到目前为止,在对Spring Boot测试功能和Spring Integration测试功能进行概述之后,还没有一个简单的解决方案浮出水面: :用于扩展,而不是覆盖; 并让我重写整个配置,而不仅仅是一个类; 建议使用a 内部的类来覆盖默认配置,但未提供示例。 有什么建议? 问题答案:
我已经尝试了这篇简单的教程https://spring.io/guides/gs/consource-web-service/,它起作用了。 然后尝试连接到另一个SOAP服务,使用一个附加的和扩展的客户端类。似乎这两个客户机类都使用了相同的-class,这使得我首先添加的一个失败(未知的jaxb-context等)。如何确保客户端类使用正确的-class?
问题内容: 我有一个测试套件,可以在其中退出系统并在中关闭浏览器。我尝试使用每种测试方法都使用Selenium拍摄失败的测试屏幕截图。我手动检查了它只在每个之前运行,但我想在它之前和之后进行设置。我找不到简单的解决方案。任何帮助将不胜感激。 我得到的输出是 问题答案: 由于规则的设置方式,因此不能有@before之后或@after之后的规则。您可以想到放在测试方法上的诸如shell之类的规则。要进
我必须定义一个包含大写方法的Translator类。该方法将收到一个StringBuffer,它只包含英文字母和空格,并将更改它,以便每个单词都以大写字母开头。 //我需要定义的类
问题内容: 如果用户未登录,我希望登录表单(来自django.contrib.auth的AuthenticationForm)出现在网站的每个页面上。当用户登录时,它们将被重定向到同一页面。如果有错误,该错误将与表格一起显示在同一页面上。 我想你需要一个上下文处理器来为每个模板提供表单。但是,那么你还需要每个视图来处理发布的表单吗?这是否意味着你需要创建一些中间件?我有点迷路了。 是否有接受的方法
我目前正在处理一个Spring Batch CSV导出。使用基于块的读取器、写入器和处理器。读取和处理工作无懈可击,但是FlatFileItemWriter总是覆盖输出的CSV文件。我希望作业检查是否存在一个文件,如果它存在,增加文件名,并写到一个新的文件。 下面是我当前的代码:Helper类,它检查文件是否存在,并返回新字符串供编写器使用。 我的项目编写器: 每次执行作业时,FileWriter