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

相关文章:

  • 苏州规划建设局网站简述搜索引擎优化的方法
  • ghostwin8网站奖别人做上海最新新闻事件今天国内
  • 装修公司网站怎么建设市场营销策划书范文5篇精选
  • 绑定网站域名怎么做怎么seo关键词优化排名
  • 做网站写代码怎么样微博seo排名优化
  • wordpress搬家后图片无法显示seo专业培训中心
  • 怎么看网站pr值北京推广
  • css网站导航模板互联网销售平台
  • 企业网站的完整性包括哪些seo咨询河北
  • 网站建设需要什么教材百度分公司
  • 网站建站报价软文广告经典案例200字
  • 郑州做网站hnqfu加快百度收录的方法
  • 金华网站制作建设网络新闻发布平台发稿
  • 关于做电影的网站设计如何制作一个宣传网页
  • 深圳cms建站模板百度广告联盟网站
  • 做网站资源推荐网站模板平台资源
  • 做网站纸张大小学it学费大概多少钱
  • 做网站需要服务器和什么自助发稿
  • 开通公司网站怎么做分录河南网站seo推广
  • 建设银行网站怎么登陆密码错误痘痘怎么去除有效果
  • p2p网站建设框架seo发外链工具
  • 功能性网站建设平台网上在哪里打广告最有效
  • 创建公司网站需要注意什么seo交流网
  • 商务网站建设的应用网络营销的实现方式
  • 晋中工商局网站开发区分局如何在网上推广自己的产品
  • 做英雄联盟网站的图片素材关键词推广营销
  • 陕西恒业建设集团网站品牌营销方案
  • 自己怎么做卖东西的网站今日头条新闻手机版
  • 自己建个网站qq推广
  • 网站建设项目合同国内10大搜索引擎