gpt4 book ai didi

c# - .NET 单元测试 - 如何区分 TestMethods 以进行变量初始化

转载 作者:行者123 更新时间:2023-11-30 21:38:55 26 4
gpt4 key购买 nike

我想在 [TestInitialize] 方法中初始化经常使用的变量,但我不希望为每个测试方法初始化相同的变量。有没有办法通过装饰器或类似的东西来区分测试方法?例如

[TestInitialize]
public Setup()
{
//pseudocode
if VariablesContainLetters
var1 = a; var2 = b; var3 = c;
else if VariablesContainNumbers
var4 = 1; var5 = 2; var6 = 3;
}

[TestMethod]
[VariablesContainLetters]
public method1() {}

[TestMethod]
[VariablesContainNumbers]
public method2() {}

这样我就可以为不同的测试方法初始化不同的变量?

最佳答案

这是我认为您正在尝试完成的示例。声明 Dictionary如果您愿意,可以将 string 替换为其他类型。 Bool, int, objects even.

[TestInitialize]
public Setup()
{
Dictionary<string, string> variables = new Dictionary<string, string>();
//pseudocode
if VariablesContainLetters
variables.Add("var1", "a");
variables.Add("var2", "b");
else if VariablesContainNumbers
variables.Add("var4", "1");
variables.Add("var5", "2");
}

[TestMethod]
[VariablesContainLetters]
public method1() {MessageBox.Show(variable["var1"]);} //prints "a"

[TestMethod]
[VariablesContainNumbers]
public method2() {MessageBox.Show(variable["var4"]);} //prints "1"

关于c# - .NET 单元测试 - 如何区分 TestMethods 以进行变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45513207/

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