如何通过参数传递pytest

时间:2015-06-05 08:15:28

标签: python unit-testing testing pydev pytest

我正在尝试测试我班级中指定的方法。我一直在做这个全局传递到我的方法,如

csv.preprocess_col(df, field, remove_invalid_rows_or_raise_exception =0)

使用全局df到路径。

但是现在我想通过参数传递函数来做test_df(df)而不是常规test_df()来测试我的函数(csv.preprocess_col)但是我不断得到这个夹具{{ 1}}未找到错误。

任何人都知道如何解决它?

只是一个奇怪的问题,对于pytest,可以通过global将参数传递给函数吗?

1 个答案:

答案 0 :(得分:1)

pytest支持several well-integrated ways中的测试参数化:

  
      
  • pytest.fixture()允许在夹具功能级别定义参数化。

  •   
  • @ pytest.mark.parametrize允许在函数或类级别定义参数化,为特定的测试函数或类提供多个参数/ fixture集。

  •   
  • pytest_generate_tests可以实现您自己的自定义动态参数化方案或扩展。

  •   

一些例子here