C# 忽略忽略属性

C# 忽略忽略属性,c#,mstest,resharper-5.1,C#,Mstest,Resharper 5.1,我们有MSTest测试,每小时自动运行一次。 其中一个测试被标记为[忽略]属性,因为它还没有准备好在我们的生产环境中运行它。 现在我想(仅)在本地环境上启动该测试,因为我的本地环境已准备好进行该测试。 我试图通过单击测试代码左侧的ReSharper图标或单击单元测试会话窗口中的RunSelectedTests图标来运行该测试,但什么也没有发生 我现在通过注释掉[Ignore]行来修复它。但是现在我需要注意在签入代码之前删除注释字符(/) 是否有其他方法临时运行[Ignore]'d测试?似乎还有其

我们有MSTest测试,每小时自动运行一次。 其中一个测试被标记为
[忽略]
属性,因为它还没有准备好在我们的生产环境中运行它。
现在我想(仅)在本地环境上启动该测试,因为我的本地环境已准备好进行该测试。
我试图通过单击测试代码左侧的ReSharper图标或单击单元测试会话窗口中的RunSelectedTests图标来运行该测试,但什么也没有发生

我现在通过注释掉
[Ignore]
行来修复它。但是现在我需要注意在签入代码之前删除注释字符(
/


是否有其他方法临时运行
[Ignore]
'd测试?

似乎还有其他方法可以使用testrunconfig文件启用/禁用测试。但是,如果使用IgnoreAttribute,它将与代码一起编译,因此无法轻松切换

从:

单元测试的Ignore属性与测试的其他属性和源代码一起驻留在单元测试的源文件中。这意味着,如果在“测试管理器”窗口中禁用单元测试,然后使用MSTest.exe命令行实用程序运行测试,测试仍将运行。但是,如果使用Ignore属性标记单元测试,编译程序集,然后使用MSTest.exe运行测试,则测试不会运行。它不会运行,因为Ignore属性已成为测试的一部分


最近,当我遇到这样的问题时,我向VisualStudio项目添加了一个名为“LocalDeveloperDebug”的新项目,并使用现有调试配置中的设置。然后我转到“项目->MyProjectName属性->构建”,确保“本地开发人员调试”是选中的配置,并将“LOCALDEVBUILD”添加到“条件遵从符号”。这允许使用预处理器指令在编译时“切换”代码:

#如果(!LOCALDEVBUILD)
[忽略]
#恩迪夫
不确定这是否是你要找的。。。但它允许您根据构建的意图(通过构建配置)运行/利用特定代码。。。使用此方法,您可以忽略更多“正式”版本的测试,但如果您愿意,仍然可以在空闲时执行它。

您还可以使用标记来标记不希望包含在自动测试中的测试方法,例如

[TestCategory("IgnoreOnBuild")]
因此不使用[Ignore]属性。并将其与构建定义中的过滤器相结合,在基本->自动测试->测试源->测试用例过滤器下:

TestCategory!=IgnoreOnBuild

OP希望与此功能相反。这只允许在本地忽略测试,但在自动化测试期间不能忽略它。OP希望在自动测试期间继续忽略测试,但不要在本地忽略它。@Alain这不是真的。使用
[Ignore]
装饰测试会将装饰编译到程序集中,无论测试在何处或如何运行(本地计算机、手动启动或测试运行程序、自动管道部署到共享环境等),被忽略的测试都将被排除在外。奇怪的是,我们以前从未遇到过这种情况。使用VS2010和R#6,我们可以执行忽略的测试,单击代码上方的左球并执行“运行”。在Visual Studio测试管理器窗口中,您可以筛选
特征:“IgnoreOnBuild”
(使用
-Trait:“IgnoreOnBuild”
排除它们)哪里是
Basic->自动测试->测试源->测试用例过滤器:
?这是什么顶级菜单或上下文菜单?