TDD

TDD、BDD、ATDD都是什么、有什么区别?(下)

在《TDD、BDD、ATDD都是什么、有什么区别?(下)》一文中,探讨了TDD、BDD和ATDD的概念。虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。 TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。 1、关注点 TDD侧重于测试代码并确保 ......
ATDD TDD BDD

软件测试/测试开发|常见软件测试框架类型:TDD、BDD、DDD、ATDD、DevOps介绍

前言 当今软件开发领域中,测试是确保代码质量和功能稳定性的关键步骤。而测试框架是在软件开发过程中使用的工具,有助于组织、管理和执行测试。在这篇文章中,我们将介绍几种常见的测试框架类型:TDD(测试驱动开发)、DDT(数据驱动测试)、BDD(行为驱动开发)和ATDD(行为驱动开发)以及 DevOps, ......
软件测试 软件 框架 常见 类型

测试驱动开发(TDD)、行为驱动开发(BDD)和验收测试驱动开发(ATDD)

TDD、BDD、ATDD都是什么、有什么区别?(上) 软件开发是一个迭代过程,包括编写、测试和改进代码,直到满足需求。测试驱动开发(TDD)、行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法。TDD、BDD和ATDD都是软件开发中用于测试和确保质量的方法。虽然它们都以提高软 ......
行为 ATDD TDD BDD

LTE系统TDD无线帧结构特点

TDD无线帧结构相对于FDD来说更加灵活,可以在不同的上下行时隙配比下进行传输,适用于支持对称和非对称业务。但由于上下行信道同频,抗干扰性较差。 ......
特点 无线 结构 系统 LTE

你真的了解TDD和BDD吗

今天我们来谈一谈TDD 和 BDD 两项实践。我们先来说说 TDD,也就是测试驱动开发(Test Drvien Development)。 TDD 的节奏 或许你已经迫不及待地要举手了:“TDD 我知道,就是先写测试,后写代码。”但真的是这样吗?严格地说,“先写测试、后写代码”的做法叫测试先行开发( ......
TDD BDD

Typescript 测试驱动开发 TDD (17)

使用async await 如果一个异步函数正在使用Promises,那么我们可以使用async await语法来运行测试,就像我们通常做的一样。例如,考虑以下类,它使用Promise返回一个值,如下所示: 1 class AsyncWithPromise { 2 delayedPromise(): ......
Typescript TDD 17

Typescript 测试驱动开发 TDD (16)

使用 done Jest 提供了一个名为 done 的方法,用于表示测试运行应该等待异步调用完成。done 函数可以作为参数传递给任何 beforeAll、beforeEach 或 it 函数,并且允许我们的异步测试在继续之前等待 done 函数被调用。让我们使用 done 重写我们之前失败的测试如 ......
Typescript TDD 16

Typescript 测试驱动开发 TDD (15)

异步测试 (Asynchronous tests) 正如我们在探索JavaScript和TypeScript时所看到的,我们编写的大部分代码都是异步的。这意味着我们无法准确控制回调函数何时被调用,或者Promise何时解析,因为我们正在等待一个超出我们控制范围的事件发生。这经常在单元测试中引起问题, ......
Typescript TDD 15

Typescript 测试驱动开发 TDD (14)

返回值的监视器 (Spies returning values) 当我们希望模拟函数的返回值时,我们可以轻松地从模拟实现中返回一个值。作为示例,请考虑以下类: 1 class MyMockedClass { 2 functionToBeMocked(): number { 3 return 5; 4 ......
Typescript TDD 14

Typescript 测试驱动开发 TDD (13)

Jest 监视器 (Jest spies) Jest还提供了一种能够检查特定类方法是否被调用的能力,使用的是所谓的spy。考虑以下类定义: 1 class MySpiedClass { 2 testFunction() { 3 console.log(`testFunction() called`) ......
Typescript TDD 13

Typescript 测试驱动开发 TDD (12)

Jest模拟 (Jest mocks) 在测试我们的代码时,我们经常遇到这样的情况:我们希望确保某个特定函数被调用,或者它被使用正确的参数进行了调用。当一个特定函数按顺序调用其他函数以执行一些业务逻辑时,这种情况最常见。例如,我们可能会调用一个初始化函数,并且该初始化函数可能会调用多个REST服务来 ......
Typescript TDD 12

Typescript 测试驱动开发 TDD (11)

数据驱动测试 (Data-driven tests) 很多时候,我们需要运行相同的测试多次,只是输入值不同。作为这个的一个例子,请考虑以下测试: [1, 2, 3, 4, 5] .forEach((value: number) => { it(`${value} should be less tha ......
Typescript TDD 11

Typescript 测试驱动开发 TDD (10)

测试设置和拆卸 ( Test setup and teardown) 在运行特定的测试之前,我们可能希望先执行一些代码。这可能是为了初始化一个特定的变量,或者确保对象的依赖关系已经设置好。同样地,我们可能希望在特定的测试运行后执行一些代码,甚至在整个测试套件运行完毕后执行。为了说明这一点,请考虑以下 ......
Typescript TDD 10

Typescript 测试驱动开发 TDD (9)

匹配器 (Matchers) 1. toBeJest 使用所谓的匹配器来将测试中的预期值与接收到的值进行匹配。让我们快速看一下其中一些匹配器,如下所示: 1 it("should match with toBe", () => { 2 expect(1).toBe(2); 3 }); 在这里,我们使 ......
Typescript TDD

Typescript 测试驱动开发 TDD (8)

强制运行和跳过测试 (Forcing and skipping tests) 在处理一个已经编写了多个测试的应用程序时,我们通常只想运行特定的测试或者一组特定的测试。这种操作被称为强制运行测试,因为我们要求整个测试套件只运行指定的测试。可以通过以下两种方式来实现: 1 describe("a gro ......
Typescript TDD

Typescript 测试驱动开发 TDD (7)

分组测试 (Grouping tests) 在一个测试规范文件中,我们可能希望将我们的测试分组为逻辑集合。Jest 使用 describe 函数来实现这个目的,如下所示的测试代码: 1 describe("a group of tests", () => { 2 test("first test", ......
Typescript TDD

Typescript 测试驱动开发 TDD (6)

观察模式 (Watch mode) Jest和其他测试框架一样,也可以在观察模式下运行。这意味着它会监视项目中的所有文件,并在任何文件更改时自动重新运行任何测试。让我们按照以下方式更新我们的package.json文件: { ... "scripts": { "test": "jest --watc ......
Typescript TDD

Typescript 测试驱动开发 TDD (5)

ts-jest Jest 是一个 JavaScript 测试框架,因此它会在我们的项目中寻找 JavaScript 测试来运行。我们可以运行 TypeScript 编译器生成 JavaScript 文件,或者使用像 ts-jest 这样的框架。ts-jest 是一个 TypeScript 到 Jes ......
Typescript TDD

Typescript 测试驱动开发 TDD (4)

Jest Jest是一个简单易配置且功能强大的JavaScript单元测试框架,它构建在流行的Jasmine框架之上。Jasmine已经存在很长时间了,是一个成熟、功能齐全且广泛使用的测试框架。Jest通过使配置更加容易,并提供丰富的额外功能来增强Jasmine。Jest还可以并发运行测试,这显著加 ......
Typescript TDD

Typescript 测试驱动开发 TDD (1)

在JavaScript开发的现代世界中,有许多不同的前端框架可供我们用来编写应用程序,从旧的框架如Backbone.js到较新的Angular、React和Vue等。这些框架通常使用模型视图控制器(MVC)设计模式或其变体之一,例如模型视图表现器(MVP)或模型视图视图模型(MVVM)。当将这组模式 ......
Typescript TDD

TDD和BDD区别

TDD (测试驱动开发) 和 BDD (行为驱动开发) 都是敏捷软件开发方法论中的实践方法,但它们的侧重点和实践方法有所不同。下面是它们之间的主要区别: 定义: TDD (测试驱动开发):先写测试,然后写满足这些测试的代码。它重在确认代码功能的正确性。 BDD (行为驱动开发):重在描述软件的行为。 ......
TDD BDD

TDD、BDD、ATDD都是什么、有什么区别?(上)

软件开发是一个迭代过程,包括编写、测试和改进代码,直到满足需求。测试驱动开发(TDD)、行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法。TDD、BDD和ATDD都是软件开发中用于测试和确保质量的方法。虽然它们都以提高软件开发质量为目标,但它们的方法和关注点有所不同。本文将 ......
ATDD TDD BDD

手把手教你落地TDD

一、前言 领域驱动设计,测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际开发中。 二、TD ......
TDD

【C#/.NET】xUnit和Moq实现TDD

​ 目录 前置条件 Moq xUnit TDD 实践 创建项目 红灯 绿灯 重构 单元测试一些最佳实践 总结 前置条件 Moq 安装Moq包 Install-Package Moq Moq是一个Mocking库,通过它可以轻易地模拟对象来进行测试。在我们的例子中,我们将使用Moq来模拟一个数据库访问 ......
xUnit NET Moq TDD

手把手教你实战TDD

本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际开发中。 ......
实战 TDD

LTE FDD和TDD的物理帧结构

1 目的 本文档对LTE FDD和TDD的帧结构进行描述。 2 术语介绍 术语 术语含义 子载波 LTE每个子载波间隔为15kHz 资源块(Resource Block) 资源块在频域上由12个子载波构成共180kHz; 资源块在时域上由7或6个OFDM符号构成,一个资源块代表一个时隙为0.5ms。 ......
物理 结构 LTE FDD TDD

Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。

你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。 GET /players/{name} 应该返回一个表示获胜总数的数字 POST /players/{name} 应该为玩家赢得游戏记录一次得分,并随着每次 POST 递增 我们将遵循 TDD 方法,尽可能快地让程序先可用,然 ......
语言 玩家 服务器 用户 TDD

Go语言:通过TDD驱动测试开发为同事写的程序优化提速——初次接触并发与channel

正文: 假如同事已经写了一个 CheckWebsites 的函数检查 URL 列表的状态。 package concurrency type WebsiteChecker func(string) bool func CheckWebsites(wc WebsiteChecker, urls []s ......
同事 channel 语言 程序 TDD

Go 语言:通过TDD测试驱动开发学习 Mocking (模拟)的思想

正文: 现在需要你写一个程序,从 3 开始依次向下,当到 0 时打印 「GO!」 并退出,要求每次打印从新的一行开始且打印间隔一秒的停顿。 3 2 1 Go! 我们将通过编写一个 Countdown 函数来处理这个问题,然后放入 main 程序,所以它看起来这样: package main func ......
Mocking 语言 思想 TDD Go

Go语言:利用 TDD 逐步为一个字典应用创建完整的 CRUD API

前言 在数组这一章节中,我们学会了如何按顺序存储值。现在,我们再来看看如何通过键存储值,并快速查找它们。 Maps 允许你以类似于字典的方式存储值。你可以将键视为单词,将值视为定义。 所以,难道还有比构建我们自己的字典更好的学习 map 的方式吗? 正文 首先编写测试 在 dictionary_te ......
字典 语言 CRUD TDD API
共34篇  :1/2页 首页上一页1下一页尾页