我在android studio工作。 我正在接受培训,以了解如何进行单元测试。 当我运行我的测试时,我有这个错误: java.lang.RuntimeException:android.util.Log中的方法i没有被模拟。有关详细信息,请参阅http://g.co/androidstudio/not-mocked。
提前谢谢。
package com.bignerdranch.android.beatbox;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class SoundViewModelTest {
private BeatBox mBeatBox;
private Sound mSound;
private SoundViewModel mSubject;
@Before
public void setUp() throws Exception {
mBeatBox = mock(BeatBox.class);
mSound = new Sound("assetPath");
mSubject = new SoundViewModel(mBeatBox);
mSubject.setSound(mSound);
}
@Test
public void exposesSoundNameAsTitle() {
assertThat(mSubject.getTitle(), is(mSound.getName()));
}
}
答案 0 :(得分:1)
我使用PowerMock。 在声明测试类之前,您必须输入以下内容:
var xmlhttp = new XMLHttpRequest();
var distancesObject = null;
var lat = points[i].LAT;
var lng = points[i].LNG;
然后,在@Before方法中:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Log.class})