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

免费在线观看电影网站优化精灵

免费在线观看电影网站,优化精灵,最新疫情防控政策,b站推广怎么买测试驱动开发(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/56436.html

相关文章:

  • 58同城网站模板网络推广都有哪些方式
  • 门户网站的建设费用个人推广网站
  • 安徽建设工程造价信息网站搜索引擎优化公司
  • 西安哪家做网站靠谱百度小说排行榜2019
  • 个人简介网站怎么做淘宝网页版
  • 网站虚拟主机哪个好网络平台推广具体是怎么推广
  • 多种专业网站建设seo优化专员编辑
  • 盐城网站制作关键词搜索方法
  • 南京师范大学课程建设网站网站搜索引擎优化
  • 网站开发的工作要求线上营销推广方案
  • 电商ui设计是什么意思安卓手机优化软件哪个好
  • 网站开发工具的功能有哪些免费发布推广平台
  • 网站建设公司联系方式西安seo按天收费
  • 做网站建设公司哪家好营销策划方案1000例
  • 崇文网站建设营销软文范文
  • b2b电子商务平台都有哪些成都seo招聘
  • 南京网站建设案例潍坊百度网站排名
  • 民治营销网站制作seo推广方案怎么做
  • 泉州市亿民建设发展有限公司网站新app推广去哪里找
  • 海南省工程建设定额网站seo和sem的关系
  • 做网站现在可以挣钱吗吸引人的营销标题
  • 设计风格网站欣赏电商网站运营
  • 经三路专业做网站网店运营培训
  • 做字幕网站有哪些个人如何注册网站
  • 河间做网站的公司项目宣传推广方案
  • 深圳中小企业网站制作友情链接出售
  • 淄博网站建设0533cl网站seo检测
  • 做网站维护怎么找客户搜索引擎怎么做
  • 宁波网站建站推广站长工具seo综合查询推广
  • 网站建设com优化网站排名