gpt4 book ai didi

java - 出于测试目的使用反射来迭代成员是否合适?

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:39 25 4
gpt4 key购买 nike

我有一个类,其中包含几个影响程序行为的 boolean 标志,并且我想测试这些标志的组合是否不会导致任何意外行为。由于有 2^n 种可能的组合,我不想编写所有这些测试用例。是否可以适本地使用反射来迭代这些标志以生成所有可能的条件?在我看来,另一种选择似乎只是测试那些最有可能导致问题的边缘情况,我认为这对我预测错误的能力来说太过重要。

此外,您能否告诉我 Java 中的情况?虽然我很熟悉这个想法,但这将是我第一次使用反射。我的所有标志都有 getter 和 setter,所以没关系,但它们目前由位字段支持,在我的测试到位后,我打算将它们转换为由 EnumSets 支持。

最佳答案

从你的问题来看,我认为你不需要反射(reflection)来进行测试。

1) 您可能需要一个属性文件/csv/Excel,其中包含该类的 boolean 值的各种组合。假设您的类包含 20 个保存 boolean 值的字段,您的 Excel 将包含 20 列,行数将是可能的组合数。

2)编写一个util类来读取excel/csv/properties文件并动态创建目标类的对象,设置该类的 boolean 字段和其他字段(映射到相应的枚举)并使用该实例进行单元测试。

3)您可以循环遍历行并覆盖所有可能的组合。

关于java - 出于测试目的使用反射来迭代成员是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com