如何在robolectric测试中添加一些启动代码

时间:2015-05-19 19:22:03

标签: java android junit robolectric

如何在robolectric Android测试中添加一些启动代码。

我们可以添加类似于@Before注释的Some方法,该方法将在该类运行的测试之前运行,但是可以在Android robolectric中添加一些在执行任何测试代码之前执行的代码。

2 个答案:

答案 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();
   }
}