如何在 lib 板条箱中的单元测试上运行货物火焰图

问题描述 投票:0回答:1

我有一个图书馆箱子,我想使用货物火焰图对其进行分析。但无论我尝试运行货物火焰图,我都会收到错误消息。该库具有以下结构:

utilrs
├── Cargo.lock
├── Cargo.toml
└── src
    ├── fileprocessor.rs
    ├── filesplit.rs
    ├── forwardstar.rs
    ├── lib.rs
    ├── persistence.rs
    └── xmlparser.rs

我正在寻找的是在

split_and_process_file
文件中的
tests
模块中执行名为
fileprocessor.rs
的测试。

我尝试了不同的命令行组合,但它们都导致了错误。我尝试过的一些事情是:

cargo flamegraph --unit-test -- fileprocessor::tests::split_and_process_file
导致
:Error: crate has no automatically selectable target

cargo flamegraph --unit-test utilrs -- fileprocessor::tests::split_and_process_file
导致
error: no bin target named `utilrs`.

系统信息: |组件|版本| |----------|--------| |操作系统|Windows 10,64 位| |货物 |货物 1.65.0-每晚 (4ed54cecc 2022-08-27)| |rustc|rustc 1.65.0-每晚 (84f0c3f79 2022-09-03)|

rust rust-cargo
1个回答
-1
投票

如错误所示:

error: no bin target named 'split_and_process_file'
,没有
bin
目标。

cargo

目标类似于
lib
bin
。也就是说,您的
split_and_process_file 
文件中没有这样的称为
main.rs
的函数。

哎呀,您没有

main.rs
,那么您应该创建一个并添加您的函数。然后,使用您的
flamegraph
文件运行
bin
。不要忘记将
--release
cargo run
一起使用。

正如

flamegraph
板条箱页面所说

默认情况下,使用

--release
配置文件, 但你可以覆盖这个:
cargo flamegraph --dev

如果您仍想使用

lib
但不想使用
bin
,则使用
--dev
东西。

© www.soinside.com 2019 - 2024. All rights reserved.