Ink :: Как правильно добавлять отпечатки отладки | ink_env::debug_println?
Ink:: Как правильно добавлять отпечатки отладки | ink_env::debug_println?
Пробовал пример образца ERC20 из https://substrate.dev/substrate-contracts-workshop/#/2/transferring-tokens
#[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
1 ответ
По умолчанию Rust скрывает стандартный вывод успешных тестов.
Чтобы переопределить это, используйте
--nocapture
флаг при запуске теста:
cargo +nightly test -- --nocapture