JUNIT-无法反序列化'java.util.ArrayList'的实例的值\u字符串标记

JUNIT-无法反序列化'java.util.ArrayList'的实例的值\u字符串标记,java,amazon-web-services,unit-testing,testing,junit,Java,Amazon Web Services,Unit Testing,Testing,Junit,我想测试我的addSomething方法,我创建了如下的安装方法: @Before public void setUp() throws Exception { activitiesService = new ActivitiesService(databaseControllerMock); when(databaseControllerMock.get(anyString(), any())).thenReturn(item); when(item.getJSON(a

我想测试我的addSomething方法,我创建了如下的安装方法:

@Before
public void setUp() throws Exception {
    activitiesService = new ActivitiesService(databaseControllerMock);
    when(databaseControllerMock.get(anyString(), any())).thenReturn(item);
    when(item.getJSON(anyString())).thenReturn("test");
}
在这种情况下,我有以下错误消息:

com.fasterxml.jackson.core.JsonParseException:无法识别的令牌“test”:应为“null”、“true”、“false”或“NaN”

所以我改变了:

when(item.getJSON(anyString())).thenReturn("true");
在这种情况下,我会遇到这样的错误:

com.fasterxml.jackson.databind.exc.MismatchedInputException:无法反序列化
java.util.ArrayList
值外\u TRUE标记的实例 在[Source:(String)“true”处;行:1,列:1]

所有这些都是关于我的方法的这一部分:

try {
        Item item = dbService.get(tableName, Collections.singletonList(primaryKey));
        String measurementsJSON = item.getJSON("measurements");
        String mealsJSON = item.getJSON("meals");
        String trainingsJSON = item.getJSON("trainings");

        ObjectMapper objectMapper = new ObjectMapper();

        List<Measurement> measurements = objectMapper.readValue(measurementsJSON, new TypeReference<List<Measurement>>() {
        });
        List<Meal> meals = objectMapper.readValue(mealsJSON, new TypeReference<List<Meal>>() {
        });
        List<Training> trainings = objectMapper.readValue(trainingsJSON, new TypeReference<List<Training>>() {
        });
试试看{
Item=dbService.get(tableName,Collections.singletonList(primaryKey));
字符串measurementsJSON=item.getJSON(“度量”);
String mealsJSON=item.getJSON(“膳食”);
字符串trainingsJSON=item.getJSON(“trainings”);
ObjectMapper ObjectMapper=新的ObjectMapper();
List measurements=objectMapper.readValue(measurementsJSON,new-TypeReference(){
});
List=objectMapper.readValue(mealsJSON,newtypereference(){
});
List trainings=objectMapper.readValue(trainingsJSON,new TypeReference()){
});

DbService和Item都是模拟的。有人能帮我解决这个问题吗?

异常中的消息本身就说明了问题…您想如何创建值为“true”的arraylist?但是我也创建了字符串的arraylist,当(Item.getJSON(anyString())时,错误是相同的
。然后返回(“测试”)
毫无意义。你想用它实现什么?为什么要为一个应该返回JSON的方法返回非JSON的内容?那么它应该是什么样子?当(item.getJSON(anyString())。然后返回(“test:test”)?我必须返回JSON,因为当我在setUp measurementJSON etc中注释这一行时,它是空的,当我想用objectMapper读取行中的值时,我会得到nullpointerexception。readValue…返回JSON响应,如return子句中的{“message\:“test\”}