【问题标题】:initializationError when running Junit test in static在静态中运行 Junit 测试时的初始化错误
【发布时间】:2018-02-24 00:16:04
【问题描述】:

我最近一直在寻找我的问题的答案,但似乎找不到。我正在尝试执行一个简单的测试以在静态中运行 JUnit 测试。当我尝试执行测试时,我收到以下失败。

java.lang.Exception:方法 SimpleINt() 不应该是静态的。

我安装了 JUnit 4 和 hamcrest 并构建了路径。 (我还是 Selenium/Java 的新手,所以我确信对此有一个简单的解释。)

package iMAP;

import org.junit.Test;


public class Test1 {



@Test
public static  void SimpleINt ()
{
    int i = 34;
    System.out.println(i);
}
}

【问题讨论】:

标签: selenium selenium-webdriver junit junit4


【解决方案1】:

@Test 的 JUnit documentation 状态:

Test 注释告诉 JUnit,它所附加的公共 void 方法可以作为测试用例运行。为了运行该方法,JUnit 首先构造一个新的类的instance,然后调用带注释的方法。测试抛出的任何异常都会被 JUnit 报告为失败。

所以,这里隐含的意思是:期望@Test 用于非静态方法。

除此之外:不要使用关键字,因为您可以。了解他们的意思。 static 是您宁愿避免使用的东西(而不是到处使用它)。

【讨论】:

    【解决方案2】:

    Junit 方法不应该像我阅读和研究的那样static。只需删除Static 并尝试以下操作:

    package iMAP;
    
    import org.junit.Test;
    
    public class Test1 {
    
    @Test
    public void SimpleINt ()
    {
        int i = 34;
        System.out.println(i);
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-16
      • 2018-04-05
      • 2022-01-16
      • 2021-05-21
      • 2017-09-07
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2016-06-11
      相关资源
      最近更新 更多