当前位置: 首页 > 面试题库 >

上课前的Junit(非静态)

柴嘉石
2023-03-14
问题内容

是否有任何最佳实践让Junit在测试文件中执行一次功能,并且它也不应该是静态的。

喜欢@BeforeClass在非静态功能?

这是一个丑陋的解决方案:

@Before void init(){
    if (init.get() == false){
        init.set(true);
        // do once block
    }
}

好吧,这是我不想做的事情,我正在寻找集成的junit解决方案。


问题答案:

如果您不想为一次初始化设置静态初始化程序,并且不打算使用JUnit,请查看TestNG。TestNG通过各种配置选项支持非静态的一次性初始化,所有配置选项均使用注释。

在TestNG中,这等效于:

@org.testng.annotations.BeforeClass
public void setUpOnce() {
   // One time initialization.
}

拆解

@org.testng.annotations.AfterClass
public void tearDownOnce() {
   // One time tear down.
}

对于等同于JUnit 4 @Before和的TestNG @After,可以分别使用@BeforeMethod@AfterMethod



 类似资料:
  • 我有以下代码: 当我尝试编译它时,会出现以下错误: 因此,我尝试使dbConnect静态如下:

  • 老师可以使用【慕课堂电脑端】 【中国大学 MOOC APP】 【慕课堂小程序】这三种方式进行上课/下课;以慕课堂电脑端操作为例(APP操作请查看:APP-老师版手册); 一键开启上课:进入慕课堂管理后台,选择某门慕课堂,点击“开始上课” 注意:a.如果老师未点击下课,上课 24 小时后系统会自动下课,下课后学生无法参与课堂活动;b.老师发布的课堂活动,暂无其他提醒方式通知学生,学生需要在APP中刷

  • 我尝试使用网络豆IDE在java中创建一个简单的类。每当我试图执行这个命令时,它都会发出这样的警告。从静态上下文引用的非静态变量“。谁能告诉我为什么会发生这种情况以及如何解决它。提前感恩节。

  • 我是Java和OOD的新手&一直在尝试为一个小的JDBC项目编写一些测试,但在让测试进入绿色光时遇到了一些问题。这就是我开始的地方,玩了很多次都没有效果。 下面是我的测试: 我的刀: 我的客户类:

  • 问题内容: 我有一群学生。首先,我想按标记对它们进行分组。然后,我想进一步将这些集合归为同名学生。 我收到一个错误消息, 非静态方法不能从静态上下文中引用。 是。我非常清楚,没有实例就无法引用非静态方法。但是,对于所有这些流操作,我对真正出了什么问题感到有些困惑。 而不是如何解决这个问题;我真的很想知道这是怎么回事。您的任何意见表示赞赏! 因为如果我写下面的分组是完全有效的; 这是我的Studen

  • 问题内容: 直到几周前,我还以为我知道何时创建字段和方法或。例如,当一个字段(例如另一个类的对象)对于该类的任意数量的对象是唯一的时,应将其设置为。 但是几周后,我读到了有关JVM垃圾收集的信息。 我知道字段永远不会被垃圾收集,并且始终保持在内存中,除非类加载器本身是垃圾收集的。 但是,如果我不创建该字段,至少它将被垃圾回收。 因此,在使字段/方法静态化与否之间似乎有一条 很细的界限 。 有人可以