当前位置:  开发笔记 > 编程语言 > 正文

我们可以在板条箱之间共享测试用途吗?

如何解决《我们可以在板条箱之间共享测试用途吗?》经验,为你挑选了0个好方法。

我有crate-0,src/lib.rs如下:

#[cfg(test)]
pub mod test_utils {
    pub struct OnlyInTests(pub usize);
    pub fn helper() -> usize { 999 }

    #[test]
    fn test_0() { let _ = OnlyInTests(helper()); }
}

我也有crate-1,我需要在crate-0中定义的测试框架:

extern crate crate_0;

#[cfg(test)]
pub mod test_utils {
    // This will error out - cannot find mod test_utils in crate_0
    use crate_0::test_utils::{OnlyInTests, helper()};

    #[test]
    fn test_1() { let _ = OnlyInTests(helper()); }
}

这里的代码很简单,可以复制粘贴,但实际上我有复杂的测试工具,我想在测试crate-1时使用它.

我无法将测试实用程序分离到不同的包中,因为我会得到循环依赖性错误:test_utils将依赖于crate-0创建内容并crate-0依赖于test_utils测试).我也不想这样做,因为还有更多的板条箱,其测试实用程序我想在依赖板条箱中使用.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有