【问题标题】:How do you unit test code that relies on randomly generated numbers?您如何对依赖随机生成的数字的代码进行单元测试?
【发布时间】:2013-06-26 15:19:50
【问题描述】:

对依赖随机生成数据的代码进行单元测试的最佳方法是什么?我发现this 堆栈溢出问题,但它有点不同。我知道您可以使用固定装置来模拟数据库之类的东西,但我认为我正在尝试做的事情有点不同。

我正在尝试写一个adaline neural network。这需要我随机生成权重,然后随着更多数据呈现给网络,调整权重的值。我如何对这样的东西进行单元测试?我已经开始为不依赖随机输入的部分编写测试,但我不知道如何处理这部分。

任何建议将不胜感激。

【问题讨论】:

  • 为生成数字的组件制作一个模型,使其变得可预测
  • 你能用固定种子进行单元测试吗?
  • @Phylogenesis 我在 Java 的 Math 类中使用了类似于 this 的随机方法。我没有为随机数生成提供种子。
  • 大约十年前,当我在攻读 MSCS 的软件工程课程时,我问了同样的问题。有人告诉我,这将是一个优秀的硕士论文项目。所以在当时,这不是一个容易回答的问题。
  • @Novak 我也在读研究生……但我想在其他方面做我的论文项目。

标签: java unit-testing random artificial-intelligence neural-network


【解决方案1】:

您可以一直使用new Random(seed) 来获取确定性随机数。 Why non-deterministic tests are a problem? Click here to see why

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2014-01-27
    • 2014-05-29
    • 2011-02-21
    相关资源
    最近更新 更多