I mean that deep in the bowels of Javac, there's a wrapper impl of JavaFileObject, and if the URI that ends up in it doesn't support getPath(), then it throws.  

That said, this file, as is, does this internally

```
java.lang.NullPointerException
	at com.google.testing.compile.JavaSourcesSubject$UnsuccessfulCompilationBuilder$3$1.apply(JavaSourcesSubject.java:168)
	at com.google.testing.compile.JavaSourcesSubject$UnsuccessfulCompilationBuilder$3$1.apply(JavaSourcesSubject.java:165)
	at com.google.common.collect.Iterators$8.computeNext(Iterators.java:689)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at com.google.common.collect.FluentIterable.isEmpty(FluentIterable.java:444)
	at com.google.testing.compile.JavaSourcesSubject$UnsuccessfulCompilationBuilder$3.in(JavaSourcesSubject.java:171)
	at com.google.testing.compile.JavaSourcesSubjectFactoryTest.failsToCompile(JavaSourcesSubjectFactoryTest.java:92)
```

... partly because you're comparing .getPath().

I think your test isn't full, because you really should pull in source in a jar and try the full tester on it.  Say, pull in the sources jar from javax.inject or something (<classifier>sources</classifier> I believe), and then compile that.