java - JUnit 5 是否保证有序测试方法的发生前关系?
问题描述
我有时使用以下注释订购测试方法:@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
JUnit 5 是否保证这些的发生之前的关系?换句话说,所有后续测试方法都可以看到测试方法的所有更改吗?
这是我的具体用例,但我不确定它是否被认为是好的风格:
我有一个执行几个步骤的集成测试:1)连接到服务器(即创建连接对象),2)发出请求1,3)发出请求2。这些请求的顺序很重要。我将这些步骤拆分为几个按顺序执行的 JUnit 测试方法。步骤 1) 将连接对象存储在静态字段中,以便通过步骤 2) 和 3) 访问它。我想知道是否必须使步骤 1) 创建的连接对象易失,或者 JUnit 是否保证其在步骤 2) 和 3) 中的可见性。
解决方案
是的,JUnit 5 在其默认配置中保证发生之前的关系,因为默认情况下,一个类的所有测试都由此处记录的同一线程按顺序执行。
推荐阅读
- firebase - Firebase 删除控制台上的测试设备
- python - 如何设置数据过期时间使用pymongo
- monodevelop - 如何在 Monodevelop GTK# 中更改背景颜色条目小部件?
- aspnetboilerplate - 从招摇模型列表中排除真实模型
- android - 如何从右到左更改 RecyclerView 的顺序?
- performance - 高维数据集的线性回归很慢
- django-rest-framework - DRF:字段和序列化器有什么区别
- google-bigquery - 将字符串转换为日期 Google BigQuery
- c# - 如何在 xunit 复数方法中进行测试
- database - 如何更改 postgresql 数据库上公共架构的默认所有者?