java.lang.RuntimeException:android.util.Log中的方法i没有被模拟

时间:2018-03-28 09:35:36

标签: android

我在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()));
    }


}

1 个答案:

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