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

在JUnit测试用例中指定执行顺序

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

在JUnit测试用例中指定执行顺序

你这样的情况 尴尬的,因为它让你感觉很糟,保持重复工作,以隔离测试(见下文)
-但是请注意,大多数重复数据删除的可拉出成

setUp
tearDown
@Before
@After
)的方法,所以你不需要很多额外的代码。如果测试运行的速度不是很慢,以至于您经常停止运行它们,那么最好以干净测试的名义浪费一些CPU。

public void testAdd() throws Exception {      // wipe database      // add something      // assert that it was added}public void testUpdate() throws Exception {      // wipe database      // add something      // update it      // assert that it was updated}public void testDelete() throws Exception {      // wipe database      // add something      // delete it      // assert that it was deleted}

另一种方法是将所有内容放入带有多个断言的一个测试中,但这很难理解和维护,并且在测试失败时给出的信息也更少:

public void testCRUD() throws Exception {      // wipe database      // add something      // assert that it was added      // update it      // assert that it was updated      // delete it       // assert that it was deleted}

使用数据库或集合或任何类型的存储进行测试是棘手的,因为一个测试始终会通过在数据库/集合中留下垃圾来影响其他测试。即使您的测试没有明确地相互依赖,它们仍然可能相互干扰,尤其是其中一项失败时。

在可能的情况下,最好在每个测试中使用一个新实例,或擦除数据,理想情况下,以一种尽可能简单的方式进行操作-
例如,对于数据库,擦除整个表的成功率要比非常具体的删除操作更可能成功,否则您可能会意外弄错。

更新 :通常最好在测试开始时擦除数据,因此一次失败的测试运行不会影响下一次运行。



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

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

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