【Serde】单元测试

环境

  • Time 2021-12-07
  • Rust 1.57.0
  • serde 1.0.130
  • serde_json 1.0.72

概念

参考:https://serde.rs/unit-testing.html

示例

main.rs

use std::collections::HashMap;

use serde_test::{assert_tokens, Token};

#[test]
fn test_ser_de_empty() {
    let map = HashMap::<char, u32>::new();

    assert_tokens(&map, &[Token::Map { len: Some(0) }, Token::MapEnd]);
}

#[test]
fn test_ser_de() {
    let mut map = HashMap::new();
    map.insert('b', 20);
    map.insert('a', 10);
    map.insert('c', 30);

    assert_tokens(
        &map,
        &[
            Token::Map { len: Some(3) },
            Token::Char('b'),
            Token::I32(20),
            Token::Char('a'),
            Token::I32(10),
            Token::Char('c'),
            Token::I32(30),
            Token::MapEnd,
        ],
    );
}

fn main() {}

总结

使用 serde 进行序列化和反序列化时,怎么对 serde 进行单元测试。

附录

posted @ 2022-01-19 22:43  jiangbo4444  阅读(58)  评论(0编辑  收藏  举报