如何测试我的模型是否能够读取 json
How to test if my model able to read json
所以我有这个json
{"err":1,"message":"MESSAGE"}
我有这个class
class Users {
final int err;
final String message;
final String userInfo;
Users({this.err, this.message, this.userInfo});
factory Users.fromJson(Map<String, dynamic> json) {
return Users(
err: json['err'],
message: json['message'],
userInfo: json['title'],
);
}
}
我想用我的 json 做一个简单的测试,所以我这样做了
group('api_request', () {
test('Format JSON Login Valid', () async {
expect(await login(), isA<Users>());
});
});
结果通过了,但是当我把我的json改成这个
{"err2":1,"message2":"My Custom Message"}
结果还是对的。所以我的问题是,我怎样才能使测试结果失败?
在您的测试 JSON 中,您已将密钥名称更改为 err2
和 message2
,这意味着您不会在模型 class 中获得任何数据 err
和 message
字段。
return Users(
err: json['err'], // it will be null
message: json['message'], // it will be null
userInfo: json['title'], // it will be null
);
因此您可以检查这些字段中的空值
所以我有这个json
{"err":1,"message":"MESSAGE"}
我有这个class
class Users {
final int err;
final String message;
final String userInfo;
Users({this.err, this.message, this.userInfo});
factory Users.fromJson(Map<String, dynamic> json) {
return Users(
err: json['err'],
message: json['message'],
userInfo: json['title'],
);
}
}
我想用我的 json 做一个简单的测试,所以我这样做了
group('api_request', () {
test('Format JSON Login Valid', () async {
expect(await login(), isA<Users>());
});
});
结果通过了,但是当我把我的json改成这个
{"err2":1,"message2":"My Custom Message"}
结果还是对的。所以我的问题是,我怎样才能使测试结果失败?
在您的测试 JSON 中,您已将密钥名称更改为 err2
和 message2
,这意味着您不会在模型 class 中获得任何数据 err
和 message
字段。
return Users(
err: json['err'], // it will be null
message: json['message'], // it will be null
userInfo: json['title'], // it will be null
);
因此您可以检查这些字段中的空值