资讯专栏INFORMATION COLUMN

你真的需要 @DirtiesContext?

leanxi / 2747人阅读

摘要:官方文档介绍如果在测试类上,使用注解,待整个测试类的所有测试执行结束后,该测试的会被关闭,同时缓存会清除。只有当注解设置在上的才会生效,有两种配置,默认是。所以在使用前,弄清楚你是否真的需要使用它。

测试又随机挂了,该怎么办?加上 @DirtiesContext 试试。真棒,修好了。

WAIT! WAIT! WAIT! 为什么加 @DirtiesContext 就修好,有没有什么副作用?

@DirtiesContext is a spring test annotation which is used to indicate that the application context cached should be removed and reloaded after each test run. The application context removed will also be closed.

如上面所述,@DirtiesContext 会导致application context不被缓存,也就是说,有可能会对测试运行的速度有影响。官方文档介绍@DirtiesContext:

如果在测试类上,使用@DirtiesContext注解,待整个测试类的所有测试执行结束后,该测试的application context会被关闭,同时缓存会清除。@DirtiesContext分为method-levelclass-level

method-level只有当@DirtiesContext注解设置在test method上的才会生效,methodMode有两种配置:BEFORE_METHODAFTER_METHOD,默认是AFTER_METHOD

class-level只有当@DirtiesContext注解设置在test class上的才会生效,classMode有四种配置:BEFORE_CLASSBEFORE_EACH_TEST_METHODAFTER_EACH_TEST_METHODAFTER_CLASS,默认是AFTER_CLASS

生命周期:

写在最后

虽然使用@DirtiesContext,可以保证每个test class的执行上下文的独立性、隔离性,但是也会有让测试运行速度变慢的副作用。所以在使用@DirtiesContext前,弄清楚你是否真的需要使用它。

原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71607.html

相关文章

  • ES6时代,真的会克隆对象吗(二)

    摘要:多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。比如,表达式会返回,因为属性得到的仅仅是构造函数,而且是可以被手动更改的,只是返回的构造函数的名字,它并不返回类名。 原文:ES6时代,你真的会克隆对象吗(二) 上一篇,我们从Symbol和是否可枚举以及属性描述符的角度分析了ES6下怎么浅拷贝一个对象,发表在掘金和segmentfault上(...

    BoYang 评论0 收藏0
  • 外包公司与小公司选哪个?

    摘要:当然外包公司是稳赚不赔的,即使公司没有了,老板股东也已经赚到了钱。 最近换了公司也就没有更新文章,因为刚到新公司也比较忙,下班也不想动。不过还是不能松懈,接下来会写些docker方面的东西,今天就 谈谈换工作的心得。 1.危机感 网上一直说我们这一行已经不行了,好多互联网公司都在大规模的裁员,包括前段时间的oracle中国区裁员。所以当你找工作或是换工作的时候都会有危机感,怕自己找不到...

    高璐 评论0 收藏0
  • 眼泪是真的、心酸是真的手工测试会迷茫是必然的、还在手工测试的也该醒醒了...

    摘要:写这篇文章就是想了解手工测试现在的处境为什么手工测试会迷茫呢不知道自动化测试性能测试会不会迷茫。我认为手工测试的迷茫基于两个原因一是重复的测试相同的方法测到自己找不着北,有一天猛然抬头大喊我要改变世界,改变自己,暗示自己换一种工作方法。 ...

    gaomysion 评论0 收藏0
  • Kubernetes 之所以酷

    摘要:比如,现在我们集群中的控制器就有内存泄漏的问题,调度器经常崩溃。例如,你的控制管理组件有内存泄漏的问题,由于控制管理组件是无状态的,你能够间歇的重启它,比如每小时一次,并且完全不会产生其他不好的连锁反应。 Kubernetes 之所以酷 来自我的博客小站 Level Up 前言 当我最开始了解到 Kubernetes 的时候(大概一年半以前?),我真的找不出需要关注它的理由。 满打满算...

    raoyi 评论0 收藏0

发表评论

0条评论

leanxi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<