Параллельное выполнение заданий в hadoop

Я новичок в адупе.

Я установил 2-узловой кластер.

Параллельное выполнение 2 заданий в hadoop.

При отправке заданий они выполняются один за другим в порядке FIFO. Я должен параллельно выполнять задания. Как этого добиться.

Спасибо MRK

-121--1118244-

Как издеваться над статическим методом void, чтобы создать исключение с помощью Powermock? Я пытаюсь использовать Powermock и Mockito, чтобы издеваться над статическим методом void, чтобы создать исключение, как показано ниже. Но я встретил проблему. Если я не сделаю два вызова Adder.add () с одним и тем же аргументом,...

Я пытаюсь использовать Powermock и Mockito, чтобы издеваться над статическим методом void, чтобы создать исключение, как показано ниже. Но я встретил проблему. Если я не сделаю два вызова Adder.add () с одним и тем же аргументом, издевательство над IOException не будет выброшено.

BTW, я добавил @ RunWith (PowerMockRunner.class) и @ PrepateForTest (Adder.class) к классу единичного теста.

class Adder{
    public static void add(int i) throws IOException{
        return;
    }
}

@Test
public void testAdder() throws IOException{
    PowerMockito.mockStatic(Adder.class);
    PowerMockito.doThrow(new IOException()).when(Adder.class);
    Adder.add(12);
    try {
        Adder.add(11);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    // assert things 
}

Заранее спасибо.:)

Ответ следующий.

Проконсультировавшись здесь http://code.google.com/p/powermock/issues/detail?id=278 , фактически Adder.add (12) выше является частью настройки макетного статического метода. Это означает, что при вызове Adder.add () с аргументом 12 инициируется IOException. Это трудно понять, верно?:) Так что это должно быть написано, как ниже.

PowerMockito.mockStatic(Adder.class);
PowerMockito.doThrow(new IOException()).when(Adder.class);
Adder.add(anyInt());

28
задан Eric 3 April 2017 в 18:30
поделиться

2 ответа

Ответ приведен ниже.

После консультации здесь http://code.google.com/p/powermock/issues/detail?id=278 , фактически Adder.add (12) выше является частью настройки ложной статики метод. Это означает, что при вызове Adder.add () с аргументом 12, IOException будет выброшено. Это трудно понять, верно? :) Так и должно быть написано ниже.

PowerMockito.mockStatic(Adder.class);
PowerMockito.doThrow(new IOException()).when(Adder.class);
Adder.add(anyInt());

РЕДАКТИРОВАТЬ:
Ссылка не работает, попробуйте Интернет-архив один вместо.

29
ответ дан 28 November 2019 в 03:40
поделиться

Вы забыли перевести PowerMock в режим воспроизведения?

Как использовать статические методы.

По вашей ссылке ...

Как проверить поведение Проверка статического метода выполняется в два этапа. Сначала вызовите PowerMockito.verifyStatic(), чтобы начать проверку поведения, и вызовите статический метод, который вы хотите проверить. Например,

 PowerMockito.verifyStatic();
 Static.firstStaticMethod(param);

Важное замечание: Вам необходимо вызывать verifyStatic() для подтверждения метода.

0
ответ дан 28 November 2019 в 03:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: