簡體   English   中英

如何在墨水中設置呼叫者! 合同單元測試功能?

[英]How can I set a caller in ink! contract unit testing function?

        fn do_check(
            &mut self
        ) -> Result<()> {
            let caller = self.env().caller();
            ...
        }

我正在為do_check函數編寫一個測試函數。 在這里,我想設置一個呼叫者,但不知道該怎么做。

#[cfg(test)]
    mod tests {
        use super::*;
        use ink_lang as ink;

        #[ink::test]
        fn do_check_works() {
            let mut test = Test::new();
            // here I want to set a caller for calling do_check
            test.do_check();
            ...

請幫我

您可以使用ink_env 中的set_caller設置調用者:

let account = AccountId::from([0x1; 32]);
ink_env::test::set_caller::<ink_env::DefaultEnvironment>(account);

有關更多詳細信息,請參閱墨水庫中的示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM