我应该如何声明在测试中多次使用的变量



我想知道当我想在不同的测试用例中使用对象时,应该如何将它们声明为字段。

  • 带有"private"的标准声明
  • 最终/非最终
  • 静态/非静态

如果我真的应该怎么做,请解释一下?

假设单元测试,它们应该是独立的、无序的。

因此,唯一的字段可以是常数static final String ID_A = "Ahmed";

常量对象也是如此。

但是,您可以为每个测试运行一个设置@BeforeEach(junit 5(并自动拆除@AfterEach方法。将其用于数据库连接等。

对于其他方法,通常有两种方法来传递更复杂的数据(如分层数据(是有意义的。特别是如果不是每个测试都使用该数据,那么对象不适合作为设置方法中填充的字段。

假设我只想有一个简单的id作为字符串,我可以使用它每次,而不是在每次测试中创建一个新的String。

是的,您可以与测试用例具有常数值的字段共享或创建类。

如果这个变量只用于一些相关的测试,那么你可以创建抽象基类并为它编写getter

public abstract class BaseTest
{
private string _id = "1";
public string GetId() 
{
return _id;
}
}

所以您将在相关的测试中继承这个BaseTest类。这种方法使用继承。

此外,您可以创建一个具有常数值的类:

public class Constant
{
public static final String WELCOME_MESSAGE = "Hello, welcome to the server";
}

然后在任何你想要的地方使用这些变量。

最新更新