我有一个高度固定的测试函数,它在某些fixture输入下失败(应该如此)。我怎样才能表明这一点?这就是我现在所做的,也许还有更好的方法。我对py.test
还不熟悉,所以我很乐意为您提供任何建议。在
下一部分是所有的输入装置。仅供参考,example_datapackage_path
在conf.test
中定义
@pytest.fixture(params=[None, 'pooled_col', 'phenotype_col'])
def metadata_key(self, request):
return request.param
@pytest.fixture(params=[None, 'feature_rename_col'])
def expression_key(self, request):
return request.param
@pytest.fixture(params=[None, 'feature_rename_col'])
def splicing_key(self, request):
return request.param
@pytest.fixture
def datapackage(self, example_datapackage_path, metadata_key,
expression_key, splicing_key):
with open(example_datapackage_path) as f:
datapackage = json.load(f)
datatype_to_key = {'metadata': metadata_key,
'expression': expression_key,
'splicing': splicing_key}
for datatype, key in datatype_to_key.iteritems():
if key is not None:
resource = name_to_resource(datapackage, datatype)
if key in resource:
resource.pop(key)
return datapackage
@pytest.fixture
def datapackage_dir(self, example_datapackage_path):
return os.path.dirname(example_datapackage_path)
这是测试本身。在
^{pr2}$我想做的是在metadata_key
中,假设当参数是pooled_col
或{skip
和{
在您的},如{a1}所述。例如:
datapackage
或expression_key
夹具中,您可以使用pytest.xfail
和{您还可以在fixture参数中使用
^{pr2}$pytest.mark.xfail
,如下例所示:如果您希望跳过这些测试,这似乎是可行的:
相关问题 更多 >
编程相关推荐