3 回答
结合答案:
你真的想滥用单元测试作为实验吗?(Jamie Rees的评论和C Sharper的回答)
也许 Linqpad ([ https://www.linqpad.net/] ) 或类似的东西更适合实验。
如果您想滥用单元测试,请使用
[TestCategory]
. 这允许在测试资源管理器中对实验进行分组并选择要运行的测试。(来自C Sharper的回答)使用构建配置来定义条件编译符号,例如
EXPERIMENTS
. 用于#if EXPERIMENTS
启用或禁用实验。使用解决方案构建配置能够从工具栏启用或禁用实验。(来自Kasper van den Berg的回答
例子:
#if EXPERIMENTS
[TestClass]
public class MyExperiment1
{
[TestMethod, TestCategory("Experiment")]
public void Method1()
{
…
}
}
#endif
Basically you misuse Unit Tests for something for which it was not intended.
But the only solution that comes in my mind is to use [TestCategory]
attribute to control when a test runs and in which list it should be.
[TestMethod(), TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart")]
public void DebitTest()
{
}
可以通过 ifdef 禁用实验,例如:
#if EXPERIMENTS
[TestClass]
public class MyExperiment1
{
[TestMethod]
public void Method1()
{
…
}
}
#endif
要启用实验,请将#define EXPERMIMENTS
文件添加为第一行;但是,这仍然很麻烦。条件编译符号 ( EXPERIMENTS
) 也可以通过项目属性定义。为了改进这一点,创建一个构建配置和一个解决方案配置,并仅为构建配置定义条件编译符号。