I recently upgraded ganache-cli
and many of my truffle test
s stopped working. In particular, there were tests where I make a contract method invocation with .call()
in order to get the return value instead of a transaction back.
For instance, with a method that creates a new thingy and returns the ID that was assigned to it, I used to invoke with 'call()
' to get the id back, expecting that no actual data would be persisted. Then I'd make the call 'for real' by not using .call()
, and it would yield a transaction. The actual ID assigned would be the one that the invocation with .call()
had returned.
My tests are now failing all over the place, and particularly, if I invoke a view function that returns the number of thingies that have been created the number is greater than expected. This is happening within the controlled environment of a unit test running against a local ganache-cli
instance.
Can anyone confirm that .call()
no longer works as expected and is actually creating data?
truffle test
is not redeploying the contracts between tests.