根据pytest

时间:2016-06-12 09:32:45

标签: python pytest

我的夹具参数化如下:

class AClass:
    def __init__(self, file_path):
        self.file_path = file_path
        self.file_ending = file_path[-4:]

@pytest.fixture(params=['path/to/file1.txt', 'path/to/file2.csv'])
def aclass(request):
    return AClass(request.param)

# parametrize this function in a way that it is run two times
# and has the right file ending
def test_aclass_has_correct_file_ending(aclass):
    # assert the correct file_ending for each instance here

我该怎么做?

由于我要根据AClass的实例测试Aclass的几个属性,因此我不想将结尾的文件作为另一个参数添加到aclass fixture中,以免不必要地膨胀夹具。我宁愿参数化测试函数。

我尝试了以下内容:

  1. 返回"容器的实例"来自夹具的课程,我需要所有的信息,虽然这似乎不对
  2. This answer
  3. 我无法真正得到indirect parametrization工作
  4. 我需要this之类的内容吗?

    我感觉我错过了明显的,所以任何帮助都非常感激!

0 个答案:

没有答案