草庐IT

java - 如何在 @Configuration/@Bean 使用的单元测试中禁用 Spring Autowiring

我想使用spring-test配置内部类(@Configuration)配置组件测试。测试的组件有一些我想为测试模拟的服务。这些服务是类(不使用接口(interface))并在其中具有Spring注释(@Autowired)。Mockito可以轻松地模拟它们,但是,我发现无法禁用SpringAutowiring。我如何轻松复制的示例:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=SomeTest.Beans.class)publicclassSomeTest{//configuredincomp

java - 如何在 @Configuration/@Bean 使用的单元测试中禁用 Spring Autowiring

我想使用spring-test配置内部类(@Configuration)配置组件测试。测试的组件有一些我想为测试模拟的服务。这些服务是类(不使用接口(interface))并在其中具有Spring注释(@Autowired)。Mockito可以轻松地模拟它们,但是,我发现无法禁用SpringAutowiring。我如何轻松复制的示例:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes=SomeTest.Beans.class)publicclassSomeTest{//configuredincomp

Spring 我应该在每个类(class)上使用@DirtiesContext

我有几个junit测试,@ContextConfiguration(locations={"file:../business/src/test/resources/application-context-test.xml","file:src/main/webapp/WEB-INF/confA.xml","classpath:/mvc-dispatcher-servlet-test.xml"})@WebAppConfiguration@RunWith(SpringJUnit4ClassRunner.class)publicclassProductContentControllerTes

Spring 我应该在每个类(class)上使用@DirtiesContext

我有几个junit测试,@ContextConfiguration(locations={"file:../business/src/test/resources/application-context-test.xml","file:src/main/webapp/WEB-INF/confA.xml","classpath:/mvc-dispatcher-servlet-test.xml"})@WebAppConfiguration@RunWith(SpringJUnit4ClassRunner.class)publicclassProductContentControllerTes

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何将参数化 JUnit 测试运行器与使用 Spring 注入(inject)的字段一起使用?

我正在使用Spring将目录路径注入(inject)到我的单元测试中。在这个目录中有许多文件,这些文件应该被用来为参数化测试用例生成测试数据,使用Parameterized。测试赛跑者。不幸的是,测试运行器要求提供参数的方法是静态的。这不适用于我的情况,因为该目录只能注入(inject)到非静态字段中。有什么想法可以解决这个问题吗? 最佳答案 您可以使用Spring中的TestContextManager。在这个例子中,我使用的是理论而不是参数化。@RunWith(Theories.class)@ContextConfigurati

java - 如何将参数化 JUnit 测试运行器与使用 Spring 注入(inject)的字段一起使用?

我正在使用Spring将目录路径注入(inject)到我的单元测试中。在这个目录中有许多文件,这些文件应该被用来为参数化测试用例生成测试数据,使用Parameterized。测试赛跑者。不幸的是,测试运行器要求提供参数的方法是静态的。这不适用于我的情况,因为该目录只能注入(inject)到非静态字段中。有什么想法可以解决这个问题吗? 最佳答案 您可以使用Spring中的TestContextManager。在这个例子中,我使用的是理论而不是参数化。@RunWith(Theories.class)@ContextConfigurati

java - JUnit 测试 Spring @Async void 服务方法

我有一个Spring服务:@Service@TransactionalpublicclassSomeService{@AsyncpublicvoidasyncMethod(Foofoo){//processingtakessignificanttime}}我对此有一个集成测试SomeService:@RunWith(SpringJUnit4ClassRunner.class)@SpringApplicationConfiguration(classes=Application.class)@WebAppConfiguration@IntegrationTest@Transactiona

java - JUnit 测试 Spring @Async void 服务方法

我有一个Spring服务:@Service@TransactionalpublicclassSomeService{@AsyncpublicvoidasyncMethod(Foofoo){//processingtakessignificanttime}}我对此有一个集成测试SomeService:@RunWith(SpringJUnit4ClassRunner.class)@SpringApplicationConfiguration(classes=Application.class)@WebAppConfiguration@IntegrationTest@Transactiona