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);
请参阅examples在 ink-examples 存储库中了解更多详细信息。
关于unit-testing - 如何在 ink 中设置来电者!契约(Contract)单元测试功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69829061/