gpt4 book ai didi

substrate - 如何在测试中打印值?

转载 作者:行者123 更新时间:2023-12-05 03:44:34 26 4
gpt4 key购买 nike

我在 decl_module 中有以下代码

#[weight = 10_000 + T::DbWeight::get().reads_writes(1,1)]
pub fn create_deparment(origin, name: Vec<u8>, location: Vec<u8>, detail: Vec<u8>) -> dispatch::DispatchResult {
let _who = ensure_signed(origin)?;
let oldcount = DeparmentCount::get();
debug::info!("Old Deparment Count: {:?}", oldcount);
// print("Old Deparment Count");
Ok(())
}

这是我的测试:

#[test]
fn create_deparment_test() {
new_test_ext().execute_with(|| {
let _result = TemplateModule::create_deparment(Origin::signed(1), "Education".as_bytes().to_vec(), "India".as_bytes().to_vec(), "hashcode".as_bytes().to_vec());
});
}

我想在运行 cargo test 时在终端中打印 debug::info。

cargo test -- --nocapture

这可能吗?

编辑:
打印!如果您仅使用模板箱进行测试,则可以正常工作,因此可以删除 println!在构建底层运行时时。

最佳答案

要使用 println!,您必须确保您的测试是“std”。像这样的东西:

#[cfg(std)]
mod tests;

// ---

// But some tests are no std
mod tests;

如果你想使用 info! 试试 RUST_LOG=info cargo t -- --nocapture

关于substrate - 如何在测试中打印值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66396683/

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