Не удалось создать обработчик внутри потока, который не вызвал Looper.prepare () в тесте Junit Parameterized.class - PullRequest
0 голосов
/ 11 июня 2018

Я хочу создать тестовый набор и использовать один и тот же тестовый набор несколько раз, но с другими данными, как показано ниже.

@RunWith(Parameterized.class)
public class ExampleInstrumentedTest extends TestCase {
    private MainActivity ma = new MainActivity();

    @Parameterized.Parameter(0)
    public float expectedResult;
    @Parameterized.Parameter(1)
    public float firstNum;
    @Parameterized.Parameter(2)
    public float secondNum;

    @Parameterized.Parameters(name = "{index}: testAdd {0} = ({1}+{2})")
    public static Collection<Object[]> testData(){

        Object[][] data = new Object[][]{ {6,2,4}, {7,4,3}};

        return Arrays.asList(data);
    }

    @Test
    public void testAdd() throws InterruptedException {
        float result = firstNum + secondNum;
        Assert.assertEquals(expectedResult, result, .1);
    }
}

И это конечный результат.

enter image description here

Тест генерирует тестовые наборы, но тестовые наборы предполагают, что они пройдены, а не не пройдены.Ошибка была

java.lang.RuntimeException: Не удалось создать обработчик внутри потока, который не вызвал Looper.prepare ()

Я испробовал все решения, которыедоступно, но все равно показывает то же сообщение.

...