gpt4 book ai didi

java - 使用 Robolectric,如何在运行测试类中的所有测试方法之前和之后初始化和完成内容

转载 作者:搜寻专家 更新时间:2023-11-01 07:53:59 26 4
gpt4 key购买 nike

我正在使用 Robolectric 进行单元测试。我有一个测试类 MainActivityTest,它有几个测试方法:

@RunWith(...)
@Config(...)
public class MainActivityTest {
@Test
public void testMethod1() {
//...
}

@Test
public void testMethod2() {
//...
}

// other test methods
}

我只想在执行任何测试方法之前执行一次方法(init 方法),并在执行所有测试方法之后执行另一个方法。我怎样才能做到这一点?我知道我可以通过在构造函数中调用init方法来解决第一个问题,但是我该如何解决第二个问题呢?我知道我可以子类化我的应用程序类并使用该应用程序,但这对我来说有点尴尬,因为我正在使用 AndroidAnnotations 并且我正在使用的真正的应用程序类是最终的,我只想在这个测试类中这样做,而不是所有测试类。我想知道是否有更好的方法来做到这一点。

最佳答案

你想要@BeforeClass@AfterClass

请注意,它们注释的方法必须是静态的。

参见:

http://junit.sourceforge.net/javadoc/org/junit/BeforeClass.html http://junit.sourceforge.net/javadoc/org/junit/AfterClass.html

例如:

@BeforeClass
public static void beforeEverything() {
// runs just once before all tests
}

@Before
public void setup() {
// runs before every test
}

@After
public void breakdown() {
// runs after every test
}

@AfterClass
public static void afterEverything() {
// runs just once after all the tests
}

关于java - 使用 Robolectric,如何在运行测试类中的所有测试方法之前和之后初始化和完成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com