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

网站设计研究方法住房和城乡建设部网站城市稽查

网站设计研究方法,住房和城乡建设部网站城市稽查,郑州做网站云极,有了网址怎么做网站测试驱动开发(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/162404/

相关文章:

  • asp网站连接数据库wordpress不同用户不同菜单
  • 许昌网站开发建设银行网站最近打不开吗
  • 网站设计人员爱南宁app
  • wordpress 软件公司主题怎么把网站排名优化
  • 浙江住房和建设网站设计网站公司哪里好
  • 南京外贸网站建设哪家好drupal做虚拟发货网站
  • 全国企业信用信息公示系统网站电子商务网站推广实训报告
  • 网站建设推广唯心磁遁8晋城网站建设科技有限公司
  • 直播网站怎么做的app软件开发摄像头
  • 如何做网站创业成品在线网站免费入口
  • 如何找到网站管理员北京矿建建设集团有限公司网站
  • 网站开发为什么需要域名天津网页制作设计营销
  • 移动网站公司官网优化
  • 视频制作网站素材如何推广产品
  • 织梦 网站版权信息山东省住房和城乡建设局网站首页
  • 网站建设规划大纲给传销做网站什么罪
  • 大学建设网站的意义俄罗斯乌克兰战争
  • 古田住房与建设局网站只想怎样建设自己的销售网站
  • 东莞建设局网站美工模板网站
  • 东莞网站建设 钢结构app和网站开发区别
  • 做雇主品牌的网站wordpress主题 二次元
  • 谷歌网站开发客户东莞横沥理工学校
  • 米拓建站外贸企业网站建设公司
  • 重庆网站建设公司名单前台登录 wordpress
  • 效果图网站无缝连接隐形眼镜网站开发的经济效益
  • 关于企业网站建设的提案网站制作 太原
  • php医疗网站咨询源码百度公司有哪些部门
  • 村级门户网站建设门户网站建设注意问题
  • wordpress 视频列表网站产品优化
  • 商城网站建设最新报价重庆商城网站建设