DAOrayakiDAO研究奖金池:
资助地址:?DAOrayaki
这是一个简单的内联单元测试,以确保我们的代码在编译和部署之前在基础层面上工作。第一行是编译器指令,指示下一个函数是一个测试:
#
它还为我们提供了创建签名者的能力,我们可以使用@0x1地址表示法将其传递给测试函数。我们调用?create_ticket?函数来创建并提供签名者座位号“K24”,票证代码为“AB43C7F”。b"string"是一个字符串文字运算符,它给我们创建一个向量。通过这个函数调用,我们创建了ConcertTicket并将其存储在地址0x1的收件人帐户中。
这是一个测试,所以我们必须确保它有效。我们使用函数?Signer::address_of?将“recipient”的地址存储在我们的变量recipient_addr中。然后我们可以使用?exists?来查看?ConcertTicket?资源是否实际存储在该地址。exists指令是另一个具有exists(address):bool接口的全局存储操作符。传入我们的类和我们正在检查的地址,会给我们一个关于该地址是否存在资源的true/false响应。
BTC跌破39000美元关口 日内跌幅为9.27%:火币全球站数据显示,BTC短线下跌,跌破39000美元关口,现报38991.74美元,日内跌幅达到9.27%,行情波动较大,请做好风险控制。[2021/5/19 22:18:58]
最后,Assert!?是一个类似于宏的操作,可以让我们测试一个条件,条件不满足时将退出并返回错误代码。如果我敲了接近4,000字对你们这些超级大脑来说还不够,更多细节在这里:
AbortandAssert
在我们的测试中,我们使用?exists?函数来判断资源是否存在,表示测试成功。让我们运行那个测试。
在项目目录中打开一个终端并运行:
cargo?test
如果一切正常,你将得到以下输出:
Finished?test??target(s)?in?0.50s?????Running?unittests?(target/debug/deps/tutorial-6df2116825e4520d)running?1?testCACHED?MoveStdlibCACHED?CoreFrameworkCACHED?AptosFrameworkBUILDING?tutorialsRunning?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?result:?OK.?Total?tests:?1;?passed:?1;?failed:?0test?move_unit_tests::move_unit_tests?...?oktest?result:?ok.?1?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.41s?????Running?unittests?(target/debug/deps/tutorial-b1774daddf2e13d8)running?0?teststest?result:?ok.?0?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.00s???Doc-tests?tutorialrunning?0?teststest?result:?ok.?0?passed;?0?failed;?0?ignored;?0?measured;?0?filtered?out;?finished?in?0.00s
SUSHI突破9.2美元关口 日内涨幅为17.46%:火币全球站数据显示,SUSHI短线上涨,突破9.2美元关口,现报9.2017美元,日内涨幅达到17.46%,行情波动较大,请做好风险控制。[2021/1/25 13:24:10]
我们的测试设置正在多个地方尝试测试,但我们现在只专注于第一个测试并且它通过了!为了确保这一点,让我们把测试中的函数调用注释去掉
//?create_ticket(&recipient,?b"A24",?b"AB43C7F");
并再次运行,得到这个输出:
Running?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?failures:Failures?in?0xe110::Tickets:┌──?sender_can_create_ticket?──────│?error:?test?failure│????┌─?/Users/culbrethw/Development/Tutorials/Tickets/sources/TicketTutorial.move:42:3│????││?36?│?????public(script)?fun?sender_can_create_ticket(recipient:?signer)?{│????│????????????????????????------------------------?In?this?function?in?0xe110::Tickets│????·│?42?│?????????assert!(exists(recipient_addr),?1);│????│?????????^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^?Test?was?not?expected?to?abort?but?it?aborted?with?1?here│?│?└──────────────────Test?result:?FAILED.?Total?tests:?1;?passed:?0;?failed:?1
行情 | BTC24小时资金净流入9.25亿元人民币:根据AICoin数据显示,24小时资金净流入排名中DASH排名第一, 24小时净流入30.72亿元人民币;LTC 24小时资金净流入排名第二,24小时净流入13.64亿元人民币;ETH24小时资金净流入排名第三,24小时净流入11.05亿元人民币。 BTC24小时资金净流入排名第四,24小时资金净流入9.25亿元人民币;PPT24小时资金净流入排名第五,24小时资金净流入3.40亿元人民币。[2019/3/18]
这里显示失败!我们在错误消息中看到,Test不应该中止,但它在此处以1中止,其中with1是我们在?Assert!?失败时发出的错误代码。当然,有时我们希望测试在某些条件下失败,但我们的大脑需要看到全绿,以便我们知道一切都按计划进行。我们可以使用另一个编译器指令构建我们的测试,通过将我们的测试修改为:
声音 | 赵长鹏:将很快就起诉红杉资本一事写一个更加个人的观点:针对“赵长鹏正起诉风投巨头红杉资本,要求名誉损害赔偿”一事,赵长鹏发推称:我将很快就此写一个更加个人的观点。[2019/5/23]
##public(script)?fun?sender_can_create_ticket(recipient?:?signer)?{
其中?abort_code?是我们预期的错误。再次运行cargo测试,我们又回到了全绿:
Running?Move?unit?tests?0xe110::Tickets::sender_can_create_ticketTest?result:?OK.?Total?tests:?1;?passed:?1;?failed:?0test?move_unit_tests::move_unit_tests?...?ok
莱福士资本联合红杉资本进军区块链,将推出IGG blockchain孵化器:莱福士资本、香港红杉资本联合进军区块链,将推出IGG blockchain孵化器,扶持中小微型企业在区块链领域的业务。IGG旨在建立全球区块链产业孵化,针对目前空气币泛滥,代投价格不一等乱象,打破旧有市场规则,重新制定产业规则,塑建新的行业规范。从原有项目方随意发行代币,到未来须通过规范、权威的IGG孵化平台以价值锚定、评估托管、股权质押等方式作为一般等价物发行加密货币,从而使项目方获得资金,同时保护投资人投资安全。[2018/3/6]
你可以在这里深入了解单元测试:UnitTestsdiem.github.io
本章节谈了很多理论,但这至关重要。在下一章节中,我们将深入研究代码,让Alice和Bob能够购买门票,甚至可以交易或出售这些门票,并确保每个人都能在演唱会上获得他们想要的座位。敬请关注!
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。