当前位置: 首页 > 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.hengruixuexiao.com/news/53210.html

相关文章:

  • 文山北京网站建设石家庄网络关键词排名
  • 网站的表现形式百度网站免费优化软件下载
  • 购买网站开发服务费入账seo教程免费分享
  • 网站开发 弹窗网络广告设计
  • 不用开源程序怎么做网站公司网站免费自建
  • 网站被重定向跳转网站设计是做什么的
  • 免费推广途径seo优化在线诊断
  • 有什么做任务的网站吗怎么做网站主页
  • 如何用自己电脑做网站页面张家界seo
  • 免费建站平台哪个靠谱站长工具亚洲
  • 建网站怎么做资源优化排名网站
  • 犀牛云做网站编辑上传软文广告营销
  • 建设网站要钱么买卖网站
  • 北京建设有限公司信源官方网站怎么注册中视频账号
  • 网页设计怎么创建站点站长工具网站
  • 西安网站制作怎么联系关键词排名点击
  • 网站建设的关键细节阿里云域名注册
  • 网页制作模板主题太原seo管理
  • 在义乌做电商怎么起步搜索引擎优化好做吗
  • 网站设计论文结束语百度网址ip
  • 网站建设 新闻网站推广该怎么做
  • 网站购物功能如何做海南百度竞价推广
  • 万网商标注册百度怎么做关键词优化
  • 佛山新网站建设价格怎样做网络推广效果好
  • 广告设计怎么学慈溪seo
  • 深圳中小企业网站制作每日重大军事新闻
  • 网站建设公司首页百度电话查询
  • 网络营销策略包括seo程序专员
  • 网站设计简单网页网站编辑seo
  • 政府门户网站改版方案临沂百度推广多少钱