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

Junit-一次运行设置方法

董琦
2023-03-14
问题内容

我通过几个测试来设置一个类,而不是使用一个@Before我想拥有一个在所有测试之前仅执行一次的设置方法的类。Junit 4.8有可能吗?


问题答案:

尽管我同意@assylias的观点,即使用@BeforeClass是经典的解决方案,但并不总是很方便。带有注释的方法@BeforeClass必须是静态的。对于某些需要测试用例实例的测试而言,这非常不便。例如,基于Spring的测试可用于@Autowired在Spring上下文中定义的服务。

在这种情况下,我个人使用setUp()带有@Before注释的常规方法并管理我的自定义static(!) boolean标志:

private static boolean setUpIsDone = false;
.....
@Before
public void setUp() {
    if (setUpIsDone) {
        return;
    }
    // do the setup
    setUpIsDone = true;
}


 类似资料:
  • 我用几个测试来设置一个类,而不是使用,我希望有一个在所有测试之前只执行一次的setup方法。这在JUnit4.8中是可能的吗?

  • 我已经使用testng并行测试用例执行设置,但我只需要执行一次设置方法。 BeforeClass和BeforeMethod也会针对单个线程执行。但我需要在所有线程之前执行一次方法。 如何通过TestNG设置实现这一点? 测试NG。xml

  • 我通过终端安装了Java。我Linux5.8.0-53通用Kubuntu Java版本输出 我的VSCode设置指向 但是,我得到一个错误,即“Visual Studio代码设置(/usr/lib/jvm/java-16-openjdk-amd64)中定义的java.home变量不指向JDK。

  • 问题内容: 我们正在使用JUnit 4进行测试:我们的类不是的子类,并且它们的公共方法带有注释。一个文件有很多方法。能够通过命令行从Ant运行它们的一个子集,就像JUnit 3的本食谱一样,这将是很好的: http://today.java.net/pub/a/today/2003/09/12/individual-test- cases.html 我一直在尝试用Java反射等方法来实现此目的。由

  • 我确信这是标准的,众所周知的行为,但我不知道如何修复它。每当我使用setState(在本例中是setTheirpokeOn)时,闭包运行两次。为了让它“一次”运行,我必须在顶部添加额外的变量,以检查它是否已经运行,如果已经运行,则将其设置为之前的状态。 有没有更好的方法,或者只运行一次?谢谢 澄清: 该组件位于useEffect内部,具有一个空的依赖性数组,因此我认为它应该只在mount上运行。钩

  • 一、JUnit 是什么? JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。 Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。 二、IDEA 的 开始JUnit测试 测试项:查询全部用户数据 junit测试方法: