首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在测试/test.rs文件中无法识别在src/main.rs中定义的类型

在测试/test.rs文件中无法识别在src/main.rs中定义的类型,这是因为测试文件和主文件是分开编译的,测试文件无法直接访问主文件中的私有类型和函数。为了解决这个问题,可以在主文件中使用pub关键字将需要在测试文件中使用的类型和函数标记为公共的,以便测试文件可以访问到它们。

另外,还可以使用模块的方式来组织代码,将需要在测试文件中使用的类型和函数放在一个公共的模块中,并在测试文件中引入该模块。这样测试文件就可以访问到主文件中定义的类型和函数了。

举例来说,假设在src/main.rs中定义了一个名为MyType的类型,我们想在测试文件中使用它。可以按照以下步骤进行操作:

  1. 在src/main.rs中将MyType标记为公共的,可以使用pub关键字:pub struct MyType { ... }
  2. 在src/main.rs中将需要在测试文件中使用的函数标记为公共的,同样使用pub关键字:pub fn my_function() { ... }
  3. 在测试文件test.rs中引入主文件中的模块:use crate::main::*;。这里的main是指src/main.rs文件所在的模块。
  4. 现在就可以在测试文件test.rs中使用主文件中定义的类型和函数了,例如:let my_type = MyType::new();

需要注意的是,测试文件和主文件需要在同一个包(crate)中,即它们应该在同一个目录下,并且在同一个包的根目录下有一个名为lib.rsmain.rs的文件作为入口文件。

推荐的腾讯云相关产品:腾讯云函数(云原生无服务器计算服务),详情请参考腾讯云函数产品介绍。腾讯云函数提供了无服务器的计算能力,可以方便地进行函数级别的测试和部署。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券