Пост
Поделитесь своими знаниями.
Как протестировать функцию с параметром Receiving в Sui?
Я пытаюсь протестировать receive_object
функцию с Receiving
параметром в языке Sui на основе документации по этой ссылке. Сначала я создал тест на этом примере, но не могу понять, как сделать так, чтобы отправленный аргумент был Receiving
типом. Я также попытался указать тип получения, но обнаружил ошибки. Может ли кто-нибудь помочь мне правильно протестировать эту функцию?
- Move CLI
- Move
Ответы
4Если вы все еще не можете указать Receiving
тип в тестах, возможно, будет полезно протестировать его с помощью интерфейса командной строки SUI. С помощью интерфейса командной строки вы можете легко указать аргументы типа с помощью --type-args
флага, что упростит сценарий тестирования.
В некоторых тестовых сценариях передача объектов напрямую в качестве общих может работать не так, как предполагалось, особенно если возникают ошибки, связанные с правами на создание экземпляров. Эти проблемы можно решить, изменив структуру транзакций таким образом, чтобы облегчить совместное использование объектов на начальном этапе, а затем их публичное размещение.
Возможно, сначала вам потребуется структурировать тест таким образом, чтобы перенести объект в SharedObject
использующий один блок TransactionBlock. Receiving<T>
В следующем TransactionBlock вы можете вызвать функцию модуля для принятия, то есть функцию with. Такой подход гарантирует, что объект ��начала будет надлежащим образом передан в общий доступ, прежде чем пытаться его получить.
При передаче объекта public_transfer
этот метод является правильным, если вы намереваетесь передать объект в полное право собственности, даже если вы специально не передаете его объектуSharedObject
. Оба метода подходят для разных сценариев использования, поэтому убедитесь, что вы используете тот, который соответствует вашей цели.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.