【问题标题】:Unit test to to alert me if len(X) - len(pred_values) != num_step单元测试提醒我如果 len(X) - len(pred_values) != num_step
【发布时间】:2018-11-12 20:36:06
【问题描述】:

我对“unittest”主题不太擅长。我想创建一个单元测试,以便说“嘿,这是错误(或正确)的答案,因为 blabla!”。我需要进行单元测试,因为花了 3 MF 周的时间才找到预测不起作用的原因!因此,我想在将来避免这种类型的错误。

问题:

  1. 如何让代码在len(X) - len(pred_values) 不等于num_step 时提醒我?
  2. 我是否需要创建一个单元测试文件来收集所有单元测试,例如unittest.py?
  3. 我们是否需要将单元测试远离主代码?

【问题讨论】:

  • 听起来测试执行的顺序很重要?在大多数情况下,这是一种反模式。为什么要按特定顺序执行测试?如果我错了,请改写问题。
  • 请把你的问题说得更清楚些。添加上下文。例如,“预测”让我觉得你在做机器学习?
  • 是的,这是一个机器学习问题,但处于回测阶段。
  • 您只是想知道如何测试len(X) - len(pred_values) ==num_steps 是否为真吗?
  • 我有很多单元测试要放置,所以我认为将所有这些放在 python 文件中可能是正确的。我不想要布尔语句。我只想告诉我该声明何时出现。

标签: python unit-testing pytest python-unittest


【解决方案1】:

Pytest 非常适合单元测试。背后有强大的社区、大量的文档和大量可简化您的单元测试生活的库。

pip install pytest

创建一个名为测试的文件夹。在其中添加 __init__.py 和一个名为 test_thing.py 的文件,然后添加:

def test_foo():
    assert len(X) - len(pred_values) ==num_steps

然后运行pytest .

【讨论】:

  • 你能举个例子,我如何在 unittest.py 中对其进行编码,以及如何在 anotherfile.py 中使用它?我使用 python 已经两个月了。因此,在这种特殊情况下,有人教我有关单元测试的知识可能会很好。
  • 上面的文档和链接比这里的 cmets 清晰得多。
  • 我将编辑我的答案,但实际上您需要阅读文档。你需要了解如何安装 pytest、gotchas、有用的库、它使用依赖注入等等
  • 什么是陷阱?你能给我一个链接吗?或者也许英语不是我的第一语言,我现在看起来很愚蠢:P
  • “gotcha”是一个英国成语,意思是“外行可能遇到的常见错误”。不要出汗。我敢肯定你的英语比我说你的语言的能力要好?
猜你喜欢
  • 2020-12-15
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多