我有一个关于下面的集成测试的问题
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
@SpringBootTest
@ActiveProfiles("test")
@TestMethodOrder(OrderAnnotation.class)
public class FooServiceIT {
@Test
@Order(1)
void testUploadSuccess() { ... }
@Test
@Order(2)
void testDownloadSuccess() { ... }
@Test
@Order(3)
void testDeleteSuccess() { ... }
}
我原以为测试的执行顺序是1、2、3,但由于某些原因,实际的执行顺序却是2、3、1。
说实话,我不知道为什么注释不起作用。我使用的是Spring Boot 2.1.3和JUnit 5.4。
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
,详情请参见 https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/TestMethodOrder.html。 - ValijonOrderAnnotation
类。 @RuthiRuth 这些方法正在操作远程服务器上的文件,显然,如果我不先将文件上传到服务器上,下载/删除方法将会失败(我也想保持方法分离 - 即在下载测试中不调用上传方法)。 - toucheqt@Test
注解的导入? - Sam Brannen@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
。 - Anupam Haldkar