gpt4 book ai didi

unit-testing - Rust 测试甚至无法运行

转载 作者:行者123 更新时间:2023-12-03 11:42:30 25 4
gpt4 key购买 nike

我正在编写一个项目来学习如何使用 Rust,我将我的项目命名为 future-finance-labs .在编写了一些基本功能并验证可以构建应用程序之后,我想包括一些位于 aggregates/mod.rs 中的测试。 [根据文档,测试与实际代码位于同一文件中。]尽管遵循了 documentation,但我无法运行测试。尽我所能。我尝试使用 PowerShell 和 Bash 构建项目。 [它也无法在 Fedora Linux 上运行]

这是我在 Bash 上的输出:

~/future-finance-labs$ cargo test -- src/formatters/mod.rs
Finished test [unoptimized + debuginfo] target(s) in 5.98s
Running target/debug/deps/future_finance_labs-16ed066e1ea3b9a1

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

使用 PowerShell 我得到了相同的输出,但有如下一些错误:

error: failed to remove C:\Users\jhale\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\jhale\future-finance-labs\target\debug\build\mime_guess-890328c8763afc22\build_script_build-890328c8763afc22.build_script_build.c22di3i8-cgu.0.rcgu.o: The system cannot find the path specified. (os error 3)

在我最初对编写一些在第一次尝试中通过的测试的前景感到兴奋之后,我很快意识到所有的绿色都是指示性的;相反,甚至无法运行测试。我只想运行单元测试。单独运行 cargo test 而没有单独的 and 文件也会失败。为什么我无法使用当前设置在此项目中运行任何测试?

最佳答案

它找不到你的测试,因为 rust 编译器不知道它。您需要将 mod aggregates 添加到 main。

mod aggregates;

fn main() {
println!("Hello, world!");
}

执行此操作后,您会看到您的 aggregates/mod.rs 由于多种原因无法编译。


正如 Mihir 试图说的那样,您需要使用测试 的名称,而不是文件 的名称来运行特定测试:

cargo test min_works
cargo test aggregates

另见:

关于unit-testing - Rust 测试甚至无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65158813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com