当前位置: 首页 > news >正文

岱山县建设局网站成都sw网站建设

岱山县建设局网站,成都sw网站建设,手机网站打开微信登录,如何建微信微网站测试驱动开发(Test Driven Development),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码&#xff0c…

测试驱动开发(Test Driven Development),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程
测试驱动开发是一种敏捷软件开发方法,它强调在编写功能代码之前先编写测试代码。这些测试代码描述了预期的功能行为,并且在开始编写实际功能代码之前会失败。然后,开发人员会专注于编写足够的功能代码,以使测试通过。这个过程被称为"红-绿-重构"(Red-Green-Refactor)循环:

红(Red):编写一个新的测试,期望某个功能,但该测试当前会失败(红色)。
绿(Green):编写最少量的功能代码,使得测试通过(绿色)。
重构(Refactor):优化和重构代码,确保它仍然通过测试,并且更易于理解和维护。

TDD 的主要目标是通过测试来推动开发,确保代码的质量和可用性。它可以帮助开发人员更好地理解需求,并减少错误和缺陷。此外,TDD 还提供了快速反馈机制,让开发人员及早发现和解决问题。最终,这种开发方法可以提高代码的可维护性和可扩展性,并加速整个开发过程。

先编写测试合约
测试合约报错
实现测试合约里的功能
再次测试
成功
重构,完善代码

实践
功能设计
1.可以查看总共有多少信件
2.当有新的信件到来时,总信件数 + 1
3.存储信件内容并可查看
4.存储信件发送人并可查看

先编写测试合约【还未新建合约】
在这里插入图片描述

npx hardhat test
失败
在这里插入图片描述
红灯

新建合约Mailbox.sol
在这里插入图片描述
npx hardhat test
成功绿灯
在这里插入图片描述
1.可以查看总共有多少信件
在这里插入图片描述
npx hardhat test
失败
在这里插入图片描述
实现这个功能
在这里插入图片描述
npx hardhat test
成功绿灯
在这里插入图片描述

最终的合约

// SPDX-License-Identifier: MIT 
pragma solidity ^0.8.9;contract Mailbox{uint public totalLetters;struct Letter{string letter;address sender;}Letter[] public letters;function write(string memory letter) public{totalLetters++;letters.push(Letter(letter,msg.sender));}function get() public view returns(Letter[] memory){return letters;}
}

测试代码

const { expect } = require("chai");
const { ethers } = require("hardhat");describe("Mailbox",async()=>{it("should get mailbox contract",async() => {const mailboxContract = awaitethers.getContractFactory("Mailbox");});it("should get total letters in the box",async() => {const mailboxContract = awaitethers.getContractFactory("Mailbox");const mailbox = awaitmailboxContract.deploy();expect(await mailbox.totalLetters()).to.equal(0);//测试totalLetters变量});it("should increase by one when get new letter",async() => {const mailboxContract = await ethers.getContractFactory("Mailbox");//获取合约const mailbox = await mailboxContract.deploy();//部署合约await mailbox.write("hello");//测试write方法expect(await mailbox.totalLetters()).to.equal(1);});it("should get mail contents",async() => {const mailboxContract = await ethers.getContractFactory("Mailbox");//获取合约const mailbox = await mailboxContract.deploy();//部署合约await mailbox.write("hello");//测试write方法const letters = await mailbox.get();expect(letters[0].letter).to.equal("hello");//测试write方法是否写入});it("should get mail sender",async() => {const mailboxContract = await ethers.getContractFactory("Mailbox");//获取合约const mailbox = await mailboxContract.deploy();//部署合约await mailbox.write("hello");//测试write方法const letters = await mailbox.get();expect(letters[0].sender).to.equal("改成你的地址");//测试write方法是否写入});});
http://www.yayakq.cn/news/206884/

相关文章:

  • 嘉兴营销型网站建设哪个app可以免费下载ppt模板
  • 可信赖的广州做网站wordpress wp-config.php
  • 做带字头像的网站开发程序的过程主要步骤
  • 重庆网站建设公司 夹夹虫好如何优化网站提高排名
  • 织梦网站首页是哪个文件WordPress国外打赏
  • 兰州网站seo分析PHP框架和wordpress
  • 盘锦网站建设价位网站充值页面模板
  • 网站备案申请书中英文的网站怎么建设
  • 杭州网站关键词优化广西建设网电子证件查询
  • 上海网站制作优化公司中山古镇做网站
  • wordpress 自动发布seo优化工作内容做什么
  • 鞍山网站怎么做出来的广州网站建设(信科分公司)
  • 海山网站建设静态网站flash
  • dede网站地图样式修改网站 改版方案
  • 做北京会所网站哪个好东山县建设官方网站
  • 会员卡管理系统价格太原seo服务
  • 网站备案图片上海住建部网站
  • 网站风格设计要素寿光市住房和建设局网站
  • 微商网站如何做中国新闻最新消息简要
  • wordpress博客非插件网站seo设置是什么
  • 兰州有做百度网站的吗模板网文
  • 微科技h5制作网站模板下载农博园网站建设投标书
  • 海南那个网站可以做车年检做网站的是些什么公司
  • 帮人做兼职的网站网站开发图片素材
  • 福州商城网站2022最新新闻
  • 企业网站内容如何备案大朗仿做网站
  • 重庆新闻发布会直播重庆整合网络营销之整站优化
  • 成都网站建设 推广行网站建设五行
  • 母婴网站源码wordpress 文献类主题
  • 锦州网站建设品牌好好多词网站