gpt4 book ai didi

unit-testing - 我们应该在类级别还是函数级别创建任何类的对象

转载 作者:行者123 更新时间:2023-11-28 21:29:46 24 4
gpt4 key购买 nike

哪种方法更好:我试图在网上找到它,但找不到更好的答案。

1.

public class OtherClass
{

public int Add(int x, int y)
{
return x + y;
}
}

public class TestClass
{

OtherClass oClass = new OtherClass();

public int Fun1()
{
return oClass.Add(1,2);
}

public int Fun2()
{
return oClass.Add(1, 2);
}
}

2.

public class TestClass
{

public int Fun1()
{
OtherClass oClass = new OtherClass();
return oClass.Add(1, 2);

}

public int Fun2()
{
OtherClass oClass = new OtherClass();
return oClass.Add(1, 2);
}

}

最佳答案

我认为这取决于您要测试的内容。

如果您要测试在同一类实例上执行的一系列函数的效果,那么您可能希望创建单个实例(例如压力测试)

但除此之外,我会说在每个测试函数中创建类的新实例总是更好,以确保每个测试的上下文是可预测的。如果您的测试方法共享一个类的实例,并且一个测试方法失败并破坏了被测对象的状态,那么您的后续测试可能会因为其他原因而失败,因为被测对象的状态被前一个失败的测试破坏了(看起来似乎是多项测试都失败了,而实际上只有一个早期测试是真正的失败)。

关于unit-testing - 我们应该在类级别还是函数级别创建任何类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054280/

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