我从 jQAssist 扫描开始(版本 1.9.1)。大部分Maven项目都可以扫描没有问题,但是有些测试有问题。
我得到这个堆栈跟踪:
[WARNING] Cannot scan class '/foo/bar/util/validation/constraints/VerfahrensspracheTest$Geschaeft.class'.
org.neo4j.driver.exceptions.ClientException: Unable to convert [C to Neo4j Value.
at org.neo4j.driver.Values.value (Values.java:134)
at org.neo4j.driver.Values.value (Values.java:297)
at org.neo4j.driver.Values.value (Values.java:119)
at org.neo4j.driver.Values.parameters (Values.java:401)
at com.buschmais.xo.neo4j.remote.impl.datastore.AbstractRemoteDatastorePropertyManager.flush (AbstractRemoteDatastorePropertyManager.java:68)
at com.buschmais.xo.neo4j.remote.impl.datastore.RemoteDatastoreEntityManager.flush (RemoteDatastoreEntityManager.java:235)
at com.buschmais.xo.impl.cache.CacheSynchronizationService.flush (CacheSynchronizationService.java:50)
at com.buschmais.xo.impl.cache.CacheSynchronizationService.flush (CacheSynchronizationService.java:34)
at com.buschmais.xo.impl.query.XOQueryImpl.flush (XOQueryImpl.java:158)
at com.buschmais.xo.impl.query.XOQueryImpl.execute (XOQueryImpl.java:138)
等等等等
有问题的测试包含一个内部类:
public class VerfahrensspracheTest extends BeanValidationTestBase<VerfahrensspracheTest.Geschaeft> {
/**
* Tests {@link Verfahrenssprache} with English.
*/
@Test
public void testEnglish() {
// Some test
}
/**
* Some bean for testing.
*/
@SuppressWarnings("javadoc")
static class Geschaeft extends PrettyPrintObject {
/**
* Creates this with valid values.
*/
public Geschaeft() {
this.sprache1 = foo.bar.util.type.language.Verfahrenssprache.DEUTSCH;
this.sprache2 = foo.bar.util.type.language.Verfahrenssprache.ENGLISCH.getISOCode();
this.sprache3 = Maps.newHashMap();
this.sprache3.put(foo.bar.util.type.language.Verfahrenssprache.DEUTSCH, "Deutsch");
this.sprache3.put(foo.bar.util.type.language.Verfahrenssprache.FRANZOESISCH, "Français");
this.sprache3.put(foo.bar.util.type.language.Verfahrenssprache.ITALIENISCH, "Italiano");
}
@Verfahrenssprache
public foo.bar.util.type.language.Verfahrenssprache sprache1;
@Verfahrenssprache(englishAllowed = true)
public String sprache2;
@Verfahrenssprache
public Map<foo.bar.util.type.language.Verfahrenssprache, String> sprache3;
}
}
我的内部类有问题还是 jQAssistant 有问题?