- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带几个 crate 的工作区。我需要排除一个特定的测试。
我尝试添加环境变量检查,但这不起作用。我猜 cargo test
过滤掉环境变量。
// package1/src/lib.rs
// ...
#[cfg(test)]
mod tests {
#[test]
fn test1() {
if std::env::var("CI").is_ok() {
return;
}
// ...
}
}
然后我尝试通过
--exclude
具有各种选项的参数,但它们都不起作用:
cargo test --workspace --exclude test1
cargo test --workspace --exclude tests:test1
cargo test --workspace --exclude tests::test1
cargo test --workspace --exclude '*test1'
cargo test --workspace --exclude 'tests*test1'
cargo test --workspace --exclude package1
这将跳过包中的所有测试。 cargo test --workspace --exclude 'package1*test1'
最佳答案
排除测试
通过运行 cargo test -- --help
获得帮助文件列出有用的选项:
--skip FILTER Skip tests whose names contain FILTER (this flag can
be used multiple times)
关于
--
后
test
, 看:
fn add(a: u64, b: u64) -> u64 {
a + b
}
fn mul(a: u64, b: u64) -> u64 {
a * b
}
#[cfg(test)]
mod tests {
use super::{add, mul};
#[test]
fn test_add() {
assert_eq!(add(21, 21), 42);
}
#[test]
fn test_mul() {
assert_eq!(mul(21, 2), 42);
}
}
使用
cargo test -- --skip test_mul
运行上述内容将给出以下输出:
running 1 test
test tests::test_add ... ok
排除特定包中的测试
my_package
和
my_test
用他们适当的名字:
my_package
cargo test --workspace --exclude my_package
然后测试
my_package
本身,通过添加
--skip my_test
排除特定测试:
cargo test --package my_package -- --skip my_test
有关更多选项,请参阅:
#[ignore]
归因于默认情况下不应运行的测试。如果您愿意,您仍然可以单独运行它们:
#[test]
#[ignore]
fn test_add() {
assert_eq!(add(21, 21), 42);
}
使用
cargo test -- --ignored
运行测试:
running 1 test
test tests::test_add ... ok
如果你使用 Rust >=
1.51
并希望运行所有测试,包括那些标有
#[ignore]
的测试属性,可以通过
--include-ignored
.
关于testing - 运行 `cargo test --workspace` 并排除一项测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66755529/
如何禁用 cargo update或 cargo build试图访问 github.com;但仍然从 crates.io 下载适当的包 我的cargo.toml 中只有一个依赖项 [dependenc
Cargo README陈述如下: Compiling from Source Cargo requires the following tools and packages to build: py
如何禁止 cargo update 或 cargo build 尝试访问 github.com;但仍然从 crates.io 下载合适的包 我的 cargo.toml 中只有一个依赖项 [depend
cargo install 说: error: failed to write /tmp/rustcaq37XH/lib.rmeta: No space left on device (os erro
我不知道为什么这两种情况下的行为相同 最佳答案 找到答案。 cargo init 没有 args 按预期工作:创建文件当前位置。 cargo init 带有 args 的行为类似于 cargo new
我在 VS 代码终端中使用命令 (Cargo run) 运行 Cargo 时遇到了这个问题。我的电脑是 32 位的。 我也尝试使用这个命令分别运行和编译 main.rs 文件,但编译时出现同样的错误。
我编译了 Rust GTK examples这样: $ cargo build --features gtk_3_10 当我尝试运行示例时,出现错误: $ cargo run --bin gtk
我正在尝试使用 CI 构建和测试我的 Rust 代码,我想知道 cargo clippy(可能带有选项)是否涵盖了 cargo check 的所有内容做。我只需要运行 cargo clippy,还是需
我想在我的 Cargo 包裹中捆绑一个纯文本格式的单词列表。我可以编辑 Cargo.toml 来执行此操作吗? 如果我使用 npm,我会将其添加到我的 package.json 中: "files":
现在我有一个包含三个成员的 Cargo 工作区。 [workspace] members = [ "foo", "bar", "baz", ] 如果我在根目录中运行 cargo
我正在学习 Rust 入门,我需要获得 the rand crate在我的系统上。我没有做 Cargo 包装的事情(例如创建 Cargo.toml),因为我对语言感兴趣,而不是包装。 我可以在我的系统
在 cargo check 重新编译许多(但不是全部)依赖项之后立即 cargo build 的可能原因是什么? cargo .toml [package] name = "greeter" vers
cargo 功能允许conditional compilation , 因此最终构建将只包含特定的功能组,最终用户可以过滤这些功能。 现在,根据库 crate 的复杂性,您可能会以形成依赖树的几个功能
所以我有一项任务,要求我编程并创建 cargo ID 并更新每个新订单的状态。 cargo ID:这应该是使用以下简单算法自动生成的唯一编号。 • 使用数字“1939”作为第一个 cargo ID。下
假设我想通过 rust-clippy 对我的所有代码进行 lint。现在,我必须写 #![feature(plugin)] #![plugin(clippy)] 在我的每个来源中。我可以以某种方式配置
集成pom.xml看起来像 org.apache.maven.plugins maven-failsafe-plugin
我正在尝试克隆 SFML github repo在我的本地项目目录中并使用 build.rs Cargo 解决方案构建它,我收到此错误: Could not find Cargo.toml 我没有找到
我创建了一个简单的 hello world 程序: fn main() { println!("Hello, world"); } 当使用 rustc 与 cargo build 编译代码时,
我有一个项目,其中包含一些相关 Assets (Lua 脚本),我需要在运行时找到这些 Assets 。这可能意味着两件事: 在开发过程中(例如cargo run),我想找到它相对于源 当通过 car
我正在尝试使用 cargo 插件在 tomcat8 上部署 war 我的条目如下: org.codehaus.cargo cargo-maven
我是一名优秀的程序员,十分优秀!