IllegalArgumentException in withCapture(List) #307

Closed
krororo opened this Issue Jun 28, 2016 · 2 comments

Projects

None yet

2 participants

@krororo
krororo commented Jun 28, 2016

Please provide the following information:

  • Version of JMockit that was used:
    1.25
  • Description of the problem or enhancement request:

example code

    public class Hoge {
        public void foo(List<String> arg) {
            return;
        }
    }

    @Test
    public void testSample(@Mocked final Hoge mock) {
        mock.foo(Arrays.asList("a", "b", "c"));
        mock.foo(Arrays.asList("d", "e", "f"));

        new Verifications() { {
            List<List<String>> actual = new ArrayList<>();

            mock.foo(withCapture(actual));

            assertThat(actual.get(0), contains("a", "b", "c"));
            assertThat(actual.get(1), contains("d", "e", "f"));
        } };
    }

It works on 1.24. But on 1.25, java.lang.IllegalArgumentException: No class with name "java.util.List<Ljava.lang.String" found occurred.

@rliesenfeld rliesenfeld added the bug label Jun 28, 2016
@rliesenfeld rliesenfeld self-assigned this Jun 28, 2016
@rliesenfeld
Member

Thanks for reporting.
As a workaround until the regression is fixed, the problem can be avoided by moving the capturing variable outside the verification block.

@rliesenfeld
Member

Fixed.

@rliesenfeld rliesenfeld closed this Jul 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment