java - 为测试类使用相同的创建对象方法的最佳实践是什么
问题描述
我有 2 个类(A 和 B)的 2 个单元测试类(ATest 和 BTest)。我的课程:
public class A {
public C convert(User user) {
...
}
}
public class B {
public D getD(User user) {
...
}
}
所以 2 类方法需要一个 User 对象作为参数。我在测试类中生成用户的方法相同:
private User getUserForTest() {
User user = new User();
...
...
...
return user;
}
getUserForTest
方法太长。我不希望它重复。我的问题是使用相同getUserForTest
的 forATest
和BTest
classes 的最佳做法是什么。
解决方案
您正在寻找所谓的测试夹具。
您可以使用带有一些静态方法的第三个类来创建测试装置(您没有测试,但用于测试的东西)。
public class TestHelper{ //or a more specific name would be nice if possible
public static User generateUser(/*add variables if required*/){
User user = new User();
...
return user;
}
}
推荐阅读
- sonarqube - 在 Sonarqube 社区版中停用规则
- aspectj - 在类加载器从其他 jar 文件 AspectJ 加载之后在运行时加载类
- php - 未下载的 EXCEL 文件名称中包含 #(hash) 符号
- php - 如何使用包含全局变量的查询正确定义全局变量?
- sql-server - 存储为字符串、枚举或 SQL 数据库中的另一个表?
- java - java.lang.RuntimeException:布局不能为空。调用 setLayout
- angular - Bootstrap 4 模态在电子中不起作用
- java - 如何在模块化 Java 项目中组织测试?
- python-3.x - 无法预测表情符号的情绪
- azure - 如何通过调用命令(REST API)获取 Azure 资源部署的配置状态