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
Другие вопросы по тегам