当前位置:   article > 正文

remix测试文件测试智能合约_remix怎么测试合约接口

remix怎么测试合约接口

remix内其实也是可以通过编写测试文件来测试智能合约的,需要使用插件自动生成框架以及测试结果。本文介绍一个简单的HelloWorld合约来讲解

安装插件多重检测:

(solidity unit testing)

编译部署HelloWorld合约

  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. contract HelloWorld {
  4. // 定义一个映射来存储每个ID对应的问候语
  5. mapping(uint256 => string) private greetings;
  6. // 设置问候语
  7. function setGreeting(uint256 id, string memory _greet) public {
  8. greetings[id] = _greet;
  9. }
  10. // 获取问候语
  11. function getGreeting(uint256 id) public view returns (string memory) {
  12. return greetings[id];
  13. }
  14. }

点击刚才的插件页面

点击Generate

把右边生成的代码删成

然后进行代码编写,成功如下:

  1. // SPDX-License-Identifier: GPL-3.0
  2. pragma solidity >=0.4.22 <0.9.0;
  3. import "remix_tests.sol";
  4. import "remix_accounts.sol";
  5. import "../contracts/HelloWorld.sol";
  6. contract testSuite {
  7. HelloWorld helloWorld;
  8. function beforeAll() public {
  9. helloWorld = new HelloWorld();
  10. }
  11. function testOne() public{
  12. helloWorld.setGreeting(1,"hello,solidity");
  13. (string memory greet) = helloWorld.getGreeting(1);
  14. Assert.equal(string("hello,solidity"),greet,"error:the code is error");
  15. }
  16. }

补充:

  • 使用的语言是solidity语言
  • 这个文件是用于在 Remix IDE 中测试 HelloWorld 合约的功能。测试框架 remix_tests.sol 提供了一些工具和断言方法,用于验证合约的行为是否符合预期。
  • remix_accounts.sol 提供了多个账户,方便测试合约在不同账户下的行为。

至此,结束~求点赞求收藏

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/790370
推荐阅读
相关标签
  

闽ICP备14008679号