赞
踩
remix内其实也是可以通过编写测试文件来测试智能合约的,需要使用插件自动生成框架以及测试结果。本文介绍一个简单的HelloWorld合约来讲解
- // SPDX-License-Identifier: MIT
- pragma solidity ^0.8.0;
-
- contract HelloWorld {
- // 定义一个映射来存储每个ID对应的问候语
- mapping(uint256 => string) private greetings;
-
- // 设置问候语
- function setGreeting(uint256 id, string memory _greet) public {
- greetings[id] = _greet;
- }
-
- // 获取问候语
- function getGreeting(uint256 id) public view returns (string memory) {
- return greetings[id];
- }
- }
点击Generate
把右边生成的代码删成
然后进行代码编写,成功如下:
- // SPDX-License-Identifier: GPL-3.0
-
- pragma solidity >=0.4.22 <0.9.0;
-
- import "remix_tests.sol";
-
-
- import "remix_accounts.sol";
- import "../contracts/HelloWorld.sol";
-
-
- contract testSuite {
- HelloWorld helloWorld;
- function beforeAll() public {
- helloWorld = new HelloWorld();
-
- }
-
- function testOne() public{
- helloWorld.setGreeting(1,"hello,solidity");
- (string memory greet) = helloWorld.getGreeting(1);
-
- Assert.equal(string("hello,solidity"),greet,"error:the code is error");
- }
-
- }
HelloWorld
合约的功能。测试框架 remix_tests.sol
提供了一些工具和断言方法,用于验证合约的行为是否符合预期。remix_accounts.sol
提供了多个账户,方便测试合约在不同账户下的行为。至此,结束~求点赞求收藏
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。