RSpec - 基本语法

RSpec - 基本语法 首页 / RSpec入门教程 / RSpec - 基本语法

让无涯教程仔细看看 HelloWorld 示例的代码。首先,如果不清楚,正在测试 HelloWorld 类的函数。当然,这是一个非常简单的类,仅包含一个方法 say_hello()。

这又是RSpec代码-

describe HelloWorld do 
   context “When testing the HelloWorld class” do 
      
      it "The say_hello method should return 'Hello World'" do 
         hw = HelloWorld.new 
         message = hw.say_hello 
         expect(message).to eq "Hello World!" 
      end
      
   end 
end

describe 关键字

单词描述是RSpec关键字。它用于定义"Example Group"。您可以将"Example Group"视为测试的集合。 describe 关键字可以带有类名和字符串参数。您还需要将一个块参数传递给 describe ,该参数将包含单个测试。该块只是由Ruby do/end 关键字指定的Ruby块。

context 关键字

上下文关键字类似于描述,它也可以接受类名或字符串参数,您还应该在context中使用一个块,上下文的概念是它包含某种类型的测试。

例如,您可以指定具有不同上下文的示例组,如下所示:

context "When passing bad parameters to the foobar() method"
context "When passing valid parameters to the foobar() method"
context "When testing corner cases with the foobar() method"

context关键字不是强制性的,但有助于添加有关其包含的示例的更多详细信息。

it 关键字

单词 it 是另一个RSpec关键字,用于定义示例,一个例子基本上是一个测试,再次与 describecontext一样,它接受类名和字符串参数,并应与以 do/end 指定的块参数一起使用。在 it 的情况下,习惯上只传递字符串和block参数。

注意无涯教程的HelloWorld示例中的 it块-

it "The say_hello method should return 'Hello World'" do

该字符串清楚地知道,当在HelloWorld类的实例上执行时会返回什么。 换句话说,一个示例既记录并测试了Ruby代码的预期行为。

expect 关键字

expect 关键字用于在RSpec中定义"期望"。这是一个验证步骤,在其中检查是否满足特定的预期条件。

从HelloWorld示例中有-

expect(message).to eql "Hello World!"

带有 expect 语句的想法是,它们的读起来像普通的英语。您可以大声说出"期望变量消息等于字符串'Hello World'"。

The to keyword

to 关键字  用作 expect 语句的一部分。请注意,当您期望为false时,也可以使用 not_to 关键字来表达相反的含义。您可以看到to与 expect(message).to点一起使用,因为它实际上只是常规的Ruby方法。实际上,所有RSpec关键字实际上只是Ruby方法。

The eql keyword

eql 关键字 是一个特殊的RSpec关键字,称为Matcher。您可以使用Matchers指定要测试为真(或假)的条件类型。

在HelloWorld expect 语句中,很明显 eql 表示字符串相等。请注意,Ruby中存在不同类型的相等运算符,因此RSpec中存在不同的对应Matchers。在后面的部分中,无涯教程将探讨许多不同类型的匹配器。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

现代C++编程实战 -〔吴咏炜〕

视觉笔记入门课 -〔高伟〕

物联网开发实战 -〔郭朝斌〕

代码之丑 -〔郑晔〕

打造爆款短视频 -〔周维〕

郭东白的架构课 -〔郭东白〕

Dubbo源码剖析与实战 -〔何辉〕

程序员职业规划手册 -〔雪梅〕

好记忆不如烂笔头。留下您的足迹吧 :)