Burlándose de msg.sender durante la prueba unitaria [duplicado]

Actualmente estoy tratando de impulsar mis pruebas unitarias para lograr una cobertura completa de mi código. Estoy usando Ownable.solel contrato de Open Zepplin y no puedo encontrar en la documentación algo sobre burlarse del usuario que envía la solicitud (entender msg.sender) usando remix_test.sol.

¿Alguno de ustedes ha oído hablar o ha hecho tal cosa?

Creo que Ownable se eliminó en la última versión porque no era seguro, pero podría estar equivocado.

Respuestas (1)

Puede usar la dirección real como msg.sender, no necesita burlarse aquí. Consulte el código de prueba de la unidad Open Zeppelin para obtener más información.

https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/test/ownership/Ownable.test.js

Para la prueba en remix, puede consultar la prueba de muestra de remix ide

https://github.com/ethereum/remix/blob/master/remix-tests/tests/various_sender/sender_test.sol

¡Espero que esto pueda ayudar!

Hola y gracias por tu respuesta ! Me parece que estas pruebas no están escritas con remix_tests.sol, sino con Mocha. Me preguntaba si hay una manera de escribirlos usando solo Remix.
Creo que podemos usar alguna cuenta predeterminada de remix cuando selecciona ejecutar en Javascript VM
Sí, pero parece que no puedes cambiar durante la prueba... Así que cuando lanzo usando llamémoslo Ausuario, se supone que el contrato es propiedad de A. Cuando vuelvo a iniciar la prueba cambiando a Busuario, se supone que el contrato es propiedad de B.
puede usar una cuenta específica como esta del código de prueba de muestra de remix github.com/ethereum/remix/blob/master/remix-tests/tests/…
Hmm, lo siento, pero no creo que esta sea la respuesta a lo que pregunté... De hecho, esto me permite obtener cuentas de prueba existentes, pero esto no permite que mi prueba unitaria inicie una función como si fueraTestsAccounts.getAccount(1) .