当前位置: 首页 > 面试题库 >

在单元测试中覆盖自动装配的Bean

殳飞扬
2023-03-14
问题内容

有没有一种简单的方法可以轻松地在特定的单元测试中覆盖自动装配的Bean?编译类中每种类型只有一个bean,因此在这种情况下自动装配不是问题。测试类将包含其他模拟。运行单元测试时,我只想指定一个基本的附加配置,运行该单元测试时,请使用此模拟而不是标准Bean。

概要文件似乎对我的需求有些矫kill过正,而且我不确定使用主要注解是否可以实现,因为不同的单元测试可能具有不同的模拟。


问题答案:

如果你只是想在测试中提供其他bean,我认为你不需要使用spring配置文件或嘲笑。

只需执行以下操作:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = { TestConfig.class })
public class MyTest
{
    @Configuration
    @Import(Application.class) // the actual configuration
    public static class TestConfig
    {
        @Bean
        public IMyService myService()
        {
            return new MockedMyService();
        }
    }

    @Test
    public void test()
    {
        ....
    }
}

注意:已通过弹簧护套1.3.2 /弹簧4.2.4测试



 类似资料:
  • 我可以在声纳获得单位测试覆盖率通过使用Jacoco工具的代码覆盖率,并使用其报告在声纳属性文件为'sonar.jacoco.report路径=.../Reports/report.exec'。如何通过使用RAD的默认插件获得SONAR中的单元测试覆盖率,该插件以. coveragedata、. Analysis和. html格式生成报告?

  • 我一直试图获得本地单元测试的代码覆盖率,但没有成功。 这里有一个关于我所说的本地单元测试的参考。 https://developer.android.com/training/testing/unit-testing/local-unit-tests.html 但这似乎无济于事。我是不是漏掉了什么? 注意,如果我通过Android Studio运行本地单元测试,一切都很好。我点击了我的“测试”模块

  • 新的一年 之前因为上家公司的经营出了问题,年前的大裁员,过了一个漫长的春节。 之后加入了新公司,然后正好赶上一个很紧急的项目,忙成狗,因此好久没更新文章了。 不过,我又回来啦! 前言 自动化测试,我们将使用karma和nightmare,内容会包括: 单元测试 e2e测试(放下一篇文章) 其实,单元测试一般用在写公共包的时候,比如通用的js函数库,通用的UI组件库。基本不太会在做业务项目的时候还使

  • 是否有人能够从Maven Build获得JaCoCo中JMockit和Powermock单元测试的复盖范围? 我有一个Powermock单元测试的现有测试集,我希望逐步将其迁移到JMockit。但是我需要能够在一个报告中看到所有单元测试的测试覆盖范围,最好是在Sonar中。 通过将JaCoCo置于“脱机”模式,我确实使JMockit和Powermock测试与Surefire/JaCoCo一起运行(

  • 假设在下面的Maven项目结构中有和。 在IntelliJ IDEA中,有一个名为包和类的选项,可以将用于缩小代码覆盖率范围的数据包含在覆盖率中。 我想知道,例如,如果我想查看的覆盖率,我应该向本节添加哪些包?我认为,当我编写这个单元测试仅用于测试时,可以只将或其包添加到要包括在覆盖率数据部分的包和类中。那是真的吗?或者什么是正确的方法?

  • 问题内容: 我使用JUnit测试以下DAO: 如你所见,sessionFactory是使用Spring自动接线的。当我运行测试时,sessionFactory保持为空,并且出现空指针异常。 这是Spring中的sessionFactory配置: 怎么了?我如何也可以为单元测试启用自动装配? 更新:我不知道这是否是运行JUnit测试的唯一方法,但是请注意,我正在Eclipse中运行,右键单击测试文件