我尝试使用setup.cfg中的norecursedirs
选项告诉py.test不要从某些目录中收集测试,但它似乎确实忽略了它。
[tool:pytest]
norecursedirs=lib/third
当我运行py.test
时,我确实看到它是如何从lib/third
内部进行测试的!
答案 0 :(得分:42)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Pmanager.Models;
using RBravoDLL;
using System.Globalization;
using Resources;
using Pmanager.Helpers;
namespace Pmanager.Controllers
{
[Authorize]
public class GroupController : DefaultController
{
private Group m_group;
public Group p_group
{
get
{
if (m_group == null)
{
m_group = new Group();
}
return m_group;
}
set
{
m_group = value;
}
}
[HttpPost]
[AllowAdminOperationsOnly]
public ActionResult NewGroup(Group _group)
{
try
{
int id_group = 0;
if (ModelState.IsValid)
{
id_group = p_group.NewGroup(_group);
}
else
{
ThrowErrorMessages();
}
return Json(new
{
status = "success",
title = @Resources.Global.success,
text = @Resources.Groups.success_creating_group,
messageType = "success",
id_group = id_group
}, JsonRequestBehavior.AllowGet);
}
catch (Exception err)
{
return ErrorHelper(@Resources.Global.error, @Resources.Groups.error_creating_group, err.Message);
}
}
}
}
为我工作
答案 1 :(得分:22)
我解开了这个谜:如果在其中一个可能的配置文件(pytest.ini
,tox.ini
和setup.cfg
)中找到pytest部分,pytest将不会查找任何其他文件,因此确保在单个文件中定义py.test选项。
我建议使用setup.cfg
。
答案 2 :(得分:13)
您可以使用
py.test -k 'not third'
排除所有“第三个”目录内容。
答案 3 :(得分:11)
norecursedirs
应该有效。检查您是否有pytest.ini或其他setup.cfg文件。你是如何调用py.test
的?
答案 4 :(得分:4)
如果您使用的是setup.cfg,则必须按http://doc.pytest.org/en/latest/example/pythoncollection.html
使用Num1 Num2 Num3 Num4 Num5
9 6 7 2 3
0 1 2 7 6
1 3 8 9 10
#testtest.ini的内容 #也可以在tox.ini或setup.cfg文件中定义,但部分为 setup.cfg文件中的#name应为“tool:pytest”```
答案 5 :(得分:4)
如果您有多个具有不同父级的目录,则可以指定不同的--ignore
参数:
py.test --ignore=somedir --ignore=otherdir --ignore=etcdir
- 新选项:--ignore将阻止收集指定的路径。
可以多次指定。
答案 6 :(得分:0)
就我而言,问题是缺少通配符。以下对我有用:
[tool:pytest]
norecursedirs = subpath/*
而只有norecursedirs = subpath
没有。
答案 7 :(得分:0)
要使用pytest.ini
(建议使用,除非您使用tox
,否则建议使用tox.ini
),请用pytest
调用pytest -c pytest.ini
为了防止我的样本not_me_1.py
和not_me_2.py
被测试或掉毛,我的pytest.ini
如下:
[pytest]
addopts = --ignore-glob=not_me_*
[pycodestyle]
ignore = not_me_* ALL