Код: Выделить всё
message Tags {
map tagset = 1;
}
message Msg {
Tags tags = 1;
}
< /code>
Я читаю в текстовом прото -файле для модульного тестирования. Файл:
[b]msg.txtpb[/b]
tags {
tagset {
key: "key1"
value: true
}
}
msgtest.java
Код: Выделить всё
Msg expectedProto = TextFormat.merge(
new FileReader("msg.txtpb", Msg.newBuilder()).build();
assertThat(actualProto).usingRecursiveComparison().isEqualTo(expectedProto);
< /code>
Ошибка, которую я получаю, заключается в том, что Assertj рассматривает объекты как два разных типа. < /p>
field/property 'tags_.tagsSet_.listData' differ:
- actual value : null
- expected value: [key: "key1" value: true]
field/property 'tags_.tagSet_.mapData' differ:
- actual value : {"key1"=true}
- expected value: null
field/property 'tags_.tagSet_.mode' differ:
- actual value : MAP
- expected value: LIST
< /code>
Я попытался написать данные TextPB в разных стилях на документы, добавляя поля, стили микширования, но ничто не оказало никакого эффекта. < /p>
tags {
tagset: [{
key: "key1"
value: true
}]
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... esentation
Мобильная версия