相关疑难解决方法(0)

@ Before,@ BeforeClass,@ BeforeEach和@BeforeAll之间的区别

两者之间的主要区别是什么

  • @Before@BeforeClass
    • 在JUnit 5 @BeforeEach@BeforeAll
  • @After@AfterClass

根据JUnit Api @Before用于以下情况:

编写测试时,通常会发现多个测试需要在运行之前创建类似的对象.

@BeforeClass可用于建立数据库连接.但不能@Before做同样的事情?

java junit annotations junit4 junit5

404
推荐指数
4
解决办法
25万
查看次数

Junit - 运行设置方法一次

我设置了一个带有几个测试的类,而不是使用@Before我希望有一个在所有测试之前只执行一次的设置方法.Junit 4.8有可能吗?

java junit

114
推荐指数
5
解决办法
11万
查看次数

最佳实践:在setUp()或声明中初始化JUnit类字段?

我应该在这样的声明中初始化类字段吗?

public class SomeTest extends TestCase
{
    private final List list = new ArrayList();

    public void testPopulateList()
    {
        // Add stuff to the list
        // Assert the list contains what I expect
    }
}
Run Code Online (Sandbox Code Playgroud)

或者像setUp()这样?

public class SomeTest extends TestCase
{
    private List list;

    @Override
    protected void setUp() throws Exception
    {
        super.setUp();
        this.list = new ArrayList();
    }

    public void testPopulateList()
    {
        // Add stuff to the list
        // Assert the list contains what I expect
    }
}
Run Code Online (Sandbox Code Playgroud)

我倾向于使用第一种形式,因为它更简洁,并允许我使用最终字段.如果我不需要使用setUp()方法进行设置,我是否还应该使用它,为什么? …

java junit

113
推荐指数
7
解决办法
14万
查看次数

setUp/tearDown(@ Before/@ After)为什么我们在JUnit中需要它们?

我相信我们都知道setUp(@Before)将在任何测试方法之前执行,而tearDown(@After)将在测试方法之后执行.

我们也知道Junit将为每个测试方法创建一个Test实例.

我的问题是,我们可以将setUp方法内容移动到类Constructor并删除setUp方法吗?是否有任何特定的理由保持setUp方法?

java junit junit4 junit3

62
推荐指数
4
解决办法
8万
查看次数

@After,@之前没有在testcase中工作

我已经开始测试,现在我想使用@After,@Before@Test但我的应用程序只运行的@Before方法和控制台提供输出

之前

但是,如果我删除@After@Before运行@Test.我的代码在这里:

public class TestPractise extends AbstractTransactionalDataSourceSpringContextTests{

    @Before
    public void runBare(){
        System.out.println("before");
    }

    @Test
    public void testingMethod(){
        System.out.println("testing");
    }

    @After
    public void setDirty(){
        System.out.println("after");
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么不@After,@Test@before同时工作?

java junit testcase

14
推荐指数
5
解决办法
3万
查看次数

JUnit如何只管理在测试类中定义的@BeforeClass运行一次

我非常明白什么@BeforeClass是.它在JUnit测试运行开始之前执行一次,@Before并且在每个测试用例之前执行方法.我的问题是关于一个非常高级的stackoverflow用户的旧帖子(PéterTörök68.8k)请参考[stackoverflow问题] [1]:JUnit:使用构造函数而不是@Before,它发布在大约2年前但是在JUnit4上.所以我认为它仍然有效且真实.

他在这里提到

@Before相当于测试类的构造函数

JUnit为每个@Test创建一个新的测试类实例,

那么JUnit如何@BeforeClass只管理在测试类中定义的一次运行?

java testing junit

0
推荐指数
1
解决办法
963
查看次数

标签 统计

java ×6

junit ×6

junit4 ×2

annotations ×1

junit3 ×1

junit5 ×1

testcase ×1

testing ×1