gpt4 book ai didi

unit-testing - 单元测试具有随机行为的方法

转载 作者:行者123 更新时间:2023-12-03 11:36:11 25 4
gpt4 key购买 nike

我正在为我正在开发的游戏编写单元测试用例。游戏开始时,玩家的位置是随机的,我有两个问题:

  • 由于播放器的位置是随机的,我不能确定一次通过的测试用例会再次通过。例如,它可以在大部分时间通过,但如果玩家碰巧位于障碍物前面则失败。
  • 我必须在一个测试用例中测试所有情况。例如,在测试玩家是否正确移动时,我必须检查是否存在障碍物以及算法是否考虑了该障碍物。

  • 我对此并不满意,但我看不到出路。测试具有部分随机行为的方法是否可以接受?

    最佳答案

    我建议您将随机源(随机数生成器或其他)视为依赖项。然后,您可以通过提供假 RNG 或具有已知种子的已知输入来测试它。这消除了测试中的随机性,同时将其保留在真实代码中。

    如果你伪造 RNG,你可以测试如果它自然地将玩家定位在障碍物上会发生什么 - 它如何将玩家移开,等等。当然这取决于了解类如何使用 RNG,但我个人很高兴单元测试充当具有一些内部知识的“白盒测试”。

    关于unit-testing - 单元测试具有随机行为的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812154/

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