小编Sus*_*mar的帖子

松露测试中的时间延迟

我正在为我的合同编写测试用例,并且必须延迟断言检查,因为它对时间敏感。getCompletedCampaigns() 将获得已过截止日期的活动的地址。

\n\n
it("Time sensitive check", async () => {\n\n    var deadLine = Math.round(Date.now() / 1000) + 3;\n    let eventDetails = await contract.createCampaign("Campaign name",deadLine,\n    {\n        from: accounts[0]\n    });\n\n    addressFromEvent = eventDetails[\'logs\'][1][\'args\'][\'campaignAddress\'];\n\n    async function checker() {\n        let deployedCampaigns = await factory.getCompletedCampaigns();\n        assert.equal(addressFromEvent, deployedCampaigns[0]);\n    }\n\n    function timeout(ms) {\n        return new Promise(resolve => setTimeout(resolve, ms));\n    }\n\n    async function sleep() {\n        await timeout(5000);\n        return checker();\n    }\n\n    sleep();\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

即使断言应该失败,测试也会通过。断言发生在测试套件完成执行所有测试之后,并强制提示符从truffle develop控制台中出来,因为如果它失败了。在下面的测试中,我故意未通过测试。

\n\n
Contract: Testing CrowdCoin\n    \xe2\x9c\x93 CampaignFactory deployment\n    \xe2\x9c\x93 Create a new Campaign …
Run Code Online (Sandbox Code Playgroud)

javascript ethereum truffle

4
推荐指数
1
解决办法
3116
查看次数

字符串中“in”运算符的使用与Python中包含字符串的列表之间的区别

我在下面的不同场景中使用了“in”运算符。一个直接在字符串上,另一个在字符串列表上。

>>> "yo" in "without you"
True
>>> "yo" in "without you".split()
False
Run Code Online (Sandbox Code Playgroud)

为什么输出不同?

python

0
推荐指数
1
解决办法
801
查看次数

标签 统计

ethereum ×1

javascript ×1

python ×1

truffle ×1