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