1 个不稳定版本

0.1.0 2021 年 6 月 17 日

#36#test-macro


用于 bern-test

MIT 许可证

14KB
243 代码行

bern-test-macros

bern-test 的过程宏。

文档

许可证


lib.rs:

Bern 测试宏。

改编自 https://github.com/knurling-rs/defmt/blob/main/firmware/defmt-test/macros/src/lib.rs

类似于 defmt-test,但可以在任何接口(通常是阻塞的)上输出,并且可以交互式运行(通过串行接口选择测试)。

示例

/* Setup omitted */
#[bern_test::tests]
mod tests {
    #[test_set_up]
    fn base_setup() {
        // Run before every test
    }

    #[test_tear_down]
    fn reset() {
        // Runs after every test
        // For autorun this must be soft reset
        cortex_m::peripheral::SCB::sys_reset();
    }

    #[tear_down]
    fn stop() {
        // Runs after all tests
        cortex_m::asm::bkpt();
    }

    #[test]
    fn some_test() {
        assert_eq!(0, 1);
    }

    #[test]
    fn test_with_hardware(board: &mut Board) {
        // A test can use the argument given when the runner is started
        // from main
        board.led.set_high().ok();
        assert_eq!(board.led.is_high().unwrap(), true);
    }
}

依赖

~1.5MB
~35K SLoC