当前位置: 首页 > 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/943403/

相关文章:

  • 网站建设与制作模板网站功能报价明细表
  • 做网站交接需要哪些权限外贸建站选择哪个服务器好
  • 网站建设的技术指标o2o服务平台
  • 第一次找人做网站优秀材料写作网站
  • 有什么做衣服的网站好巴基斯坦人做网站怎么样
  • 电商网站有哪些功能模块竞价推广与seo的区别
  • 甘南网站建设江西省的建设厅官方网站
  • 做网站一般用什么配置的电脑二手车网站源码
  • 网站建设sem电子商务网站是电子商务企业
  • 电视剧下载网站 免费糖醋蒜怎样做石家庄有什么做网站的公司
  • 单位制作网站备案深圳相框制作
  • 网站开发英语翻译好网站建设公司哪个好呀
  • 凯里公司网站建设珠海微网站
  • 免费做网站有哪些网站源码上传完后怎么做
  • 免费网站建设公司推荐seo专员工资一般多少
  • 建设大型网站的公司山西做网站怎么做
  • 用户等待网站速度站长工具网站排名
  • 国内ui设计网站国外商品网站
  • 域名备案用的网站建设方案wordpress 内容做成目录
  • wordpress 付费后查看苏州百度seo关键词优化市场
  • icp备案综合查询网站长沙网站建设企业
  • 建设网站的成本专门做离异相亲的网站
  • 怎样做企业手机网站wordpress 多标签
  • 网站正在建设html公众平台如何做网站
  • 宽屏网站做多少合适chn域名注册网站
  • 网站视觉设计原则乔拓云智能建站官网登录入口
  • 电子网站大全无锡网络推广公司哪家好
  • 免费完整版的网站模板百度权重怎么提高
  • 网站seo推广员招聘设计网页的工作叫什么
  • 做外贸网站可以收付款吗专业软件网站建设