自动将测试从 JUnit 3 迁移到 JUnit 4 的最佳方法?

2024-05-04

我有一堆 JUnit 3 类,它们扩展了 TestCase,并希望自动将它们迁移为带有注释的 JUnit4 测试,例如@Before, @After, @Test, etc.
有什么工具可以在大批量运行中执行此操作吗?


在我看来,这并没有那么难。那么让我们尝试一下:

0. 进口

您需要导入三个注释:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;`

进行接下来的一些更改后,您将不需要import junit.framework.TestCase;.

1. 注释test* Methods

所有以以下开头的方法public void test前面必须是@Test注解。 使用正则表达式可以轻松完成此任务。

2.注释SetUp和TearDown方法

Eclipse 生成以下内容setUp() method:

@Override
protected void setUp() throws Exception { }

必须替换为:

@Before
public void setUp() throws Exception { }

同样适用于tearDown():

@Override
protected void tearDown() throws Exception { }

取而代之

@After
public void tearDown() throws Exception { }

3.摆脱extends TestCase

删除每个文件中出现一次的字符串

" extends TestCase"

4. 删除主要方法?

可能有必要删除/重构将执行测试的现有主要方法。

5. 转换suite()方法@RunWithClass

根据 saua 的评论,必须进行转换suite()方法。谢谢,萨阿!

@RunWith(Suite.class)
@Suite.SuiteClasses({
  TestDog.class
  TestCat.class
  TestAardvark.class
})

结论

我认为,通过一组正则表达式可以很容易地完成,即使它会杀死我的大脑;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动将测试从 JUnit 3 迁移到 JUnit 4 的最佳方法? 的相关文章

随机推荐