如何在robolectric Android测试中添加一些启动代码。
我们可以添加类似于@Before注释的Some方法,该方法将在该类运行的测试之前运行,但是可以在Android robolectric中添加一些在执行任何测试代码之前执行的代码。
答案 0 :(得分:3)
使用JUnit的@BeforeClass注释。
class Test {
@BeforeClass
public static void doOnce()
//Do once before any test case is run.
}
}
答案 1 :(得分:0)
解决方案#1
您可以使用继承或合成。例如。你可以创建TestBase
类:
class TestBase {
@Before
protected setUp() {
// code for all tests
}
}
然后你的测试可以从中得出:
@RunWith(RobolectricTestRunner.class)
class SpecificTest extends TestBase {
...
}
解决方案#2
您还可以在方法中创建一些包含可重复代码的Utility类,并在测试中的每个setUp()
方法中调用此方法。然后,你不会需要继承。例如:
class Util {
private Util() {}
public static setUp() {
// code for all tests
}
}
你的测试看起来像那样:
@RunWith(RobolectricTestRunner.class)
class SpecificTest {
@Before
public setUp() {
Util.setUp();
}
}