gpt4 book ai didi

C# - 从 app.config 有条件地将属性应用于方法

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:30 28 4
gpt4 key购买 nike

TLDR;如何根据 app.config 文件中的值在 C# 中创建预处理指令?

我正在使用 Selenium 进行集成测试。我有两个测试方法类,它们负责测试应用程序的不同区域。我的测试类使用 [TestClass] 属性标识,我的测试方法使用 [TestMethod] 属性标识,如下所示:

[TestClass]
public class TestsForAreaX
{
[TestMethod]
public void TestFoo()
{
//Do test logic here
}
[TestMethod]
public void TestBar()
{
//Do test logic here
}
}

当我重建我的解决方案时,所有应用了 [TestMethod] 的方法都将出现在测试资源管理器中。

我现在想做的是向我的 app.config 添加一些标志以有条件地应用 [TestMethod] 属性,以便我可以指定我想要运行的测试。这样做的原因是有些测试需要很长时间,我想排除它们而不必直接摆弄方法属性。

我知道像这样的预处理指令:

#if DEBUG
//debug mode
#elif
//release mode
#endif

但这只适用于构建配置而不适用于应用配置文件中的值,除非我弄错了?

最佳答案

您不能在编译后删除程序集的属性。也许您正在寻找类别:

[TestClass]
public class TestsForAreaX
{
[TestCategory("LongRunning"), TestMethod]
public void TestFoo()
{
//Do test logic here
}
[TestCategory("ShortRunning"), TestMethod]
public void TestBar()
{
//Do test logic here
}
} enter code here

然后你至少可以从命令行运行不同类别的测试,这个网站解释了如何: http://msdn.microsoft.com/en-us/library/dd286683.aspx

关于C# - 从 app.config 有条件地将属性应用于方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22039094/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com