我正在尝试在Android Studio中为我的android项目编写单元测试。以下是我的样本单元测试课程。
@RunWith(MockitoJUnitRunner.class)
public class PersistencyTest {
@Mock
Context mockContext;
@Before
public void setUp() {
...
}
@After
public void tearDown() {
...
}
@Test
public void test() {
assertEquals(1, 1);
}
@Test
public void testAddingDocument() {
assertTrue(true);
}
}
我收到以下错误:
测试运行失败:测试运行未能完成。预计4次测试,收到2
当我使用AndroidJUnit4.class而不是MockitoJUnitRunner时,没有问题。我想MockitoJUnitRunner希望每个方法都是一个测试方法,并以“test”关键字开头。
我做错了什么?为什么MockitoJUnitRunner无法识别@Before和@After注释?
问候
答案 0 :(得分:0)
使用Android Studio 1.5.1并创建了一个开箱即用的示例项目我无法重现您的问题。有关测试的相关项目依赖性为'junit:junit:4.12'
和'org.mockito:mockito-core:1.10.19'
。
我想MockitoJUnitRunner希望每个方法都是一个测试方法,并以“test”关键字开头。
如果您使用的是JUnit 4,则使用@Test
标记您的测试方法,然后无论您如何命名测试方法。所以 没有 ,MockitoJUnitRunner
没有强加这样的要求。
我做错了什么?
由于您的测试代码没有任何问题,并且使用@RunWith(AndroidJUnit4.class)
将您的测试标记为JUnit 4测试(AndroidJUnit4),我希望您的项目设置和/或使用的内容必定存在问题的依赖关系。
因此,我的回答,再次检查您的项目设置和/或查看Building Local Unit Tests。