Testen des Versprechens in Solidität [geschlossen]

}).then(assert.fail).catch (function(error){
      assert(error.message.indexOf('revert') >= 0,'msg.value must be less than tokens tokenAvaliable')
    })

Ich habe den folgenden Code in der Testdatei kann jemand erklären, was indexOf('revert') bedeutet

Ich stimme dafür, diese Frage zu schließen, da sie nichts mit Ethereum zu tun hat. indexOfist eine JavaScript-Funktion: w3schools.com/jsref/jsref_indexof.asp
Wie lautet die Frage genau? Was ist indexOf oder warum sucht es nach „revert“?

Antworten (1)

Dies liegt daran, dass assert.fail()ein Fehler ausgelöst wird, der im Catch abgefangen wird, und in der Fehlermeldung die Zeichenfolge enthalten ist Expected revert not received, die die Teilzeichenfolge enthält revert.

Versuchen Sie in der JavaScript-Konsole Folgendes:

console.log("Expected revert not received".indexOf('revert'))

Sie erhalten eine Antwort 9.

Ich hoffe es hilft!