IT IS OUT OF DATE INFO!
Use HardHat framework!
The steps from https://github.com/harvest-finance/harvest/blob/master/CodingStrategies.MD
Ganache and Truffle https://www.trufflesuite.com/
Tests required archive data, so you can use free account https://alchemyapi.io/
Truffle testing https://www.trufflesuite.com/docs/truffle/testing/writing-tests-in-javascript
Install NodeJS 12.x
Other versions have a different troubles with Truffle
In package.json fix version for
"@openzeppelin/contracts": "2.5.0", - don't use 3 version!
Manual install missed packages
npm install @openzeppelin/upgrades@2.8.0
npm install @openzeppelin/contracts-ethereum-package@2.5.0
It is important that the strategies are tested. The tests need to prove the following (at minimum):
doHardWork()
are possible