我用物品创建了一个棋盘,这些物品是为某种三消游戏随机创建的。我想测试一些案例。你能建议任何方法来测试随机产生的案例吗?
最好的
使用 TestNG,您可以使用“参数化”测试,并通过任何数据提供者为它们播种: http ://www.mkyong.com/unittest/testng-tutorial-6-parameterized-test/ ,例如一个简单的 csv 文件。
您可能希望从一个广泛的可能输入列表开始,然后找到一组输入,这些输入可以为您的测试类提供最高的覆盖率。
测试覆盖率工具可以检查在给定输入的测试期间是否到达了代码的每个可能的执行路径。
也许这还不够,但是对提供特定输出的可能输入进行逆向工程更多的是人工智能引擎的任务。
对于包含随机数(例如数字)的测试场景,您需要一个 RandomGenerator,您可以在其中设置Seed
. 如果种子相同,则生成的数字将始终相同,顺序相同。对于测试,您将 Seed 设置为固定值,对于实际应用程序,您将使用变量值,例如System.getMilliSeconds()
. 因此,您可以检查一个 Seed 的测试结果的正确性,之后您可以根据需要重复测试,如果结果发生变化,但您的 Seed 不是您发现错误案例。