テストのためにエクスプレスとモカを使用しています。Express Im から、rosten にデプロイされたスマート コントラクトから情報を取得します。そのため、アドレスは常に同じです。設定ファイルにそのアドレスがあります。
ローカル テストでは、testrpc を使用して、各テストの前にスマート コントラクトをデプロイしたいと考えています。そのため、展開のアドレスを高速アプリに渡す必要がある場合。
私のコードは次のとおりです。
Test.js
beforeEach(async function () {
index = DeployContract() //this returns a random address
server = await app.listen(3000)
})
アプリ内
const CONFIG = require('../config.json')
const contex = {
indexAddress: CONFIG.indexAddress, // or .env
gasMargin: CONFIG.gasMargin,
web3: web3
}
router.get('/manager', (req, res, next) => {
const manager = new Manager(contex) //this must be the address returned beforeEach
// do something
res.send(200)
})
に生成されたアドレスを使用する必要があるためindexAddress: CONFIG.indexAddress
、コンストラクターでコンテキストを使用できます。