java - 如何在Junit中使用基类@BeforeMethod为所有测试用例执行for循环
问题描述
假设我有一Base
堂课:
Class BaseClass{
@BeforeClass
public static void testBefore(){
//some work done here
}
}
Class TestClass extends BaseClass{
@Test
public void testmethod1(){
for (String x: listOfX){
// some other assertions here here
}
}
@Test
public void testmethod2(){
for (String x: listOfX){
// some other assertions here here
}
}
}
我的问题是什么是避免每个testmethod()
. 有没有办法将这个 for 循环移到@BeforeMethod
etc 中,以便testMethod()
每个X
. 非常感谢您的建议,并感谢您的宝贵时间。
解决方案
正如迈克尔所提到的,这不是一个好主意,您应该改用参数化测试。在测试中运行 for 循环并不可怕,但您绝对不想为每个值创建一个新测试。每次开始新测试的开销会比复制 for 循环更慢。
推荐阅读
- javascript - 视图可以在 MVC 模式中进行 AJAX 调用吗?
- angular - 使用 Angular 一起调用带有 @RequestParam 和 @RequestBody 的 RESTful Web 服务
- java - 为什么 EnumMap 不是 Java 中的 SortedMap?
- javascript - 如何断开客户端在特定时间内处于非活动状态(socket.io,javascript)
- java - 为什么模拟 mongotemplate.aggregate() 返回 NullPointerException [Spring Boot Mockito]
- c++ - 他们是在 C++ 中实现类的更好方法吗?
- php - 是否可以将 PHP imap_search 与新标准一起使用?
- python - 是否可以在 matplotlib 中的动画期间改变速度
- django - Django 实现自定义模型字段,无需迁移
- c++ - 结构内向量的初始化