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