如何解决墨水::添加调试跟踪打印的正确方法是什么? ink_env :: debug_println?
墨水::添加调试跟踪打印的正确方法是什么? ink_env :: debug_println吗?
正在尝试https://substrate.dev/substrate-contracts-workshop/#/2/transferring-tokens中的ERC20示例示例
#[ink(message)]
pub fn transfer(&mut self,to: AccountId,value: Balance) -> bool {
// ACTION: Call the `transfer_from_to` with `from` as `self.env().caller()`
let source: AccountId = self.env().caller();
let dbg_msg = format!( "from {:#?} to {:#?}",source,to );
ink_env::debug_println( &dbg_msg );
self.transfer_from_to( source,to,value )
}
使用跟踪打印执行测试,但看不到跟踪输出。
$ cargo +nightly test
Compiling erc20 v0.1.0 (/tmp/tmp.MkRICOxro3/erc20)
Finished test [unoptimized + debuginfo] target(s) in 0.85s
Running target/debug/deps/erc20-ac25c678251cab02
running 3 tests
test erc20::tests::balance_works ... ok
test erc20::tests::new_works ... ok
test erc20::tests::transfer_works ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
注意::完整的代码段位于路径...
https://gist.github.com/shamb0/aee23b7f4789b0cd57cbc1c8f3fa2538
解决方法
默认情况下,Rust隐藏成功测试的标准输出。
要覆盖此内容,请在运行测试时使用--nocapture
标志:
cargo +nightly test -- --nocapture
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。