3
4

3 回答 3

3

结合答案:

  1. 真的想滥用单元测试作为实验吗?Jamie Rees的评论和C Sharper回答

    也许 Linqpad ([ https://www.linqpad.net/] ) 或类似的东西更适合实验。

  2. 如果您想滥用单元测试,请使用[TestCategory]. 这允许在测试资源管理器中对实验进行分组并选择要运行的测试。(来自C Sharper的回答

  3. 使用构建配置来定义条件编译符号,例如EXPERIMENTS. 用于#if EXPERIMENTS启用或禁用实验。使用解决方案构建配置能够从工具栏启用或禁用实验。(来自Kasper van den Berg的回答

例子:

#if EXPERIMENTS
[TestClass]
public class MyExperiment1
{
    [TestMethod, TestCategory("Experiment")]
    public void Method1()
    {
        …
    }
}
#endif
于 2015-09-01T09:40:21.363 回答
2

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()
{

}
于 2015-09-01T07:46:10.700 回答
1

可以通过 ifdef 禁用实验,例如:

#if EXPERIMENTS
[TestClass]
public class MyExperiment1
{
    [TestMethod]
    public void Method1()
    {
        …
    }
}
#endif

要启用实验,请将#define EXPERMIMENTS文件添加为第一行;但是,这仍然很麻烦。条件编译符号 ( EXPERIMENTS) 也可以通过项目属性定义。为了改进这一点,创建一个构建配置和一个解决方案配置,并仅为构建配置定义条件编译符号。

于 2015-09-01T08:50:34.223 回答