6个版本
0.2.0 | 2023年8月3日 |
---|---|
0.1.4 | 2023年5月24日 |
0.1.1 | 2023年4月25日 |
353 在 构建工具
1,149 每月下载量
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版本,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献都应按照上述方式双重许可,不附加任何额外条款或条件。
依赖
~0.3–3MB
~52K SLoC