Move.

Пост

Поделитесь своими знаниями.

Raju.
Raju158
Apr 06, 2025
Экспертные Вопросы и Ответы

Как протестировать функцию с параметром Receiving в Sui?

Я пытаюсь протестировать receive_objectфункцию с Receivingпараметром в языке Sui на основе документации по этой ссылке. Сначала я создал тест на этом примере, но не могу понять, как сделать так, чтобы отправленный аргумент был Receivingтипом. Я также попытался указать тип получения, но обнаружил ошибки. Может ли кто-нибудь помочь мне правильно протестировать эту функцию?

  • Move CLI
  • Move
0
4
Поделиться
Комментарии
.

Ответы

4
tomek.
Apr 6 2025, 19:22

Если вы все еще не можете указать Receivingтип в тестах, возможно, будет полезно протестировать его с помощью интерфейса командной строки SUI. С помощью интерфейса командной строки вы можете легко указать аргументы типа с помощью --type-argsфлага, что упростит сценарий тестирования.

0
Комментарии
.
Dominikus .
Apr 7 2025, 00:46

В некоторых тестовых сценариях передача объектов напрямую в качестве общих может работать не так, как предполагалось, особенно если возникают ошибки, связанные с правами на создание экземпляров. Эти проблемы можно решить, изменив структуру транзакций таким образом, чтобы облегчить совместное использование объектов на начальном этапе, а затем их публичное размещение.

0
Комментарии
.
Caplec.
Apr 7 2025, 01:34

Возможно, сначала вам потребуется структурировать тест таким образом, чтобы перенести объект в SharedObjectиспользующий один блок TransactionBlock. Receiving<T>В следующем TransactionBlock вы можете вызвать функцию модуля для принятия, то есть функцию with. Такой подход гарантирует, что объект ��начала будет надлежащим образом передан в общий доступ, прежде чем пытаться его получить.

0
Комментарии
.
cod.
cod95
Apr 7 2025, 02:29

При передаче объекта public_transferэтот метод является правильным, если вы намереваетесь передать объект в полное право собственности, даже если вы специально не передаете его объектуSharedObject. Оба метода подходят для разных сценариев использования, поэтому убедитесь, что вы используете тот, который соответствует вашей цели.

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Посты231Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Мы используем файлы cookie, чтобы гарантировать вам лучший опыт на нашем сайте.
Подробнее