我尝试在我的项目中使用orika。我正在here练习练习。 我在从相同的URL /网站进行教程时遇到了这个问题。
以下是我的util.xslt
课程。
Personne
以下是public class Personne {
private String nom;
private String surnom;
private int age;
public Personne(String nom, String surnom, int age) {
this.nom = nom;
this.surnom = surnom;
this.age = age;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getSurnom() {
return surnom;
}
public void setSurnom(String surnom) {
this.surnom = surnom;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
类。
Person
以下是复制测试 -
public class Person {
private String name;
private String nickname;
private int age;
public Person(String name, String nickname, int age) {
this.name = name;
this.nickname = nickname;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
在上面的测试中,我不包括将名称字段从源对象@Test
public void givenSrcAndDest_whenCanExcludeField_thenCorrect() {
MapperFactory mapperFactory = new DefaultMapperFactory.Builder()
.build();
mapperFactory.classMap(Personne.class, Person.class).exclude("nom")
.field("surnom", "nickname").field("age", "age").register();
MapperFacade mapper = mapperFactory.getMapperFacade();
Personne frenchPerson = new Personne("Claire", "cla", 25);
Person englishPerson = mapper.map(frenchPerson, Person.class);
//assertEquals(null, englishPerson.getName());
assertEquals(englishPerson.getNickname(), frenchPerson.getSurnom());
assertEquals(englishPerson.getAge(), frenchPerson.getAge());
}
复制到目标Personne
对象。
当我运行单元测试时,我在行Person
ma.glasnost.orika.MappingException at OrikaUnitTest.java:92
如果我不排除任何字段并包含所有字段,那么它就能正常工作。
我错过了什么吗?