栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

测试调用:如何进行所有测试套件通用的设置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

测试调用:如何进行所有测试套件通用的设置

有几种方法可以实现此目的。最简单,最简单的方法是在套件的开头和结尾运行一个“测试”,以建立数据库,然后设置一个全局标志。在@Before和@After测试中,请检查此标志,并在必要时进行设置/拆卸。

@RunWith(Suite.class)@SuiteClasses({SetupTest.class, RealTest.class, TeardownTest.class});

这是最简单的解决方案,但不是很好,因此更简洁的解决方案是使用TestRule。看一下扩展ExternalResource。这实现了围绕您的测试方法的逻辑前后。这将允许您排除@Before和@After方法,以便在各处重用相同的代码。

然后,对于您的套件,您还需要实现之前/之后的逻辑。不幸的是,用@RunWith(Suite.class)注释的类实际上并未实例化,因此您不能使用该类的构造函数,但是可以扩展Suite。根据运行方式的不同,您将需要使用@RunWith作为示例来实现一个构造函数:

public class MySuite extends Suite {        public MySuite(Class<?> klass, RunnerBuilder builder) throws InitializationError {        this(builder, klass, getAnnotatedClasses(klass));        // put your global setup here        // set global variable    }}

然后运行您的测试套件

@RunWith(MySuite.class)

有几种在不同情况下使用的构造函数,请查看每个构造函数旁边的注释以获取详细信息。您仍然需要使用全局变量,以便您的规则不会重新执行设置代码。如果您只想执行设置代码,则执行上面的命令比较困难,但是可以做到。让我知道您是否需要它:-)

如果您想要更大的灵活性(例如仅针对特定方法执行安装代码),请参阅我的答案如何在套件中定义JUnit方法规则?。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号