6个版本

0.2.0 2023年8月3日
0.1.4 2023年5月24日
0.1.1 2023年4月25日

353构建工具

Download history 119/week @ 2024-04-14 95/week @ 2024-04-21 384/week @ 2024-04-28 167/week @ 2024-05-05 301/week @ 2024-05-12 171/week @ 2024-05-19 199/week @ 2024-05-26 70/week @ 2024-06-02 295/week @ 2024-06-09 249/week @ 2024-06-16 131/week @ 2024-06-23 133/week @ 2024-06-30 197/week @ 2024-07-07 333/week @ 2024-07-14 207/week @ 2024-07-21 412/week @ 2024-07-28

1,149 每月下载量

MIT/Apache

130KB
3K SLoC

rb-sys-test-helpers

Rust测试Ruby扩展的辅助工具

用法

将此添加到您的 Cargo.toml

[dev-dependencies]
rb-sys-env = { version = "0.1" }
rb-sys-test-helpers = { version = "0.2" }

然后,在您的crate的 build.rs

pub fn main() -> Result<(), Box<dyn std::error::Error>> {
    let _ = rb_sys_env::activate()?;

    Ok(())
}

然后,您可以在测试中使用 with_ruby_vm 函数

#[cfg(test)]
mod tests {
    use rb_sys_test_helpers::ruby_test;
    use rb_sys::{rb_num2fix, rb_int2big, FIXNUM_P};

    #[ruby_test]
    fn test_something() {
        // Your test code here will have a valid Ruby VM (hint: this works with
        // the `magnus` crate, too!)
        //
        // ...

        let int = unsafe { rb_num2fix(1) };
        let big = unsafe { rb_int2big(9999999) };

        assert!(FIXNUM_P(int));
        assert!(!FIXNUM_P(big));
    }
}

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献都应按照上述方式双重许可,不附加任何额外条款或条件。

依赖

~0.3–3MB
~52K SLoC