📅  最后修改于: 2020-12-06 10:53:54             🧑  作者: Mango
RSpec是用于Ruby编程语言的单元测试框架。 RSpec与传统的xUnit框架(如JUnit)不同,因为RSpec是一种行为驱动的开发工具。这意味着,用RSpec编写的测试专注于被测试应用程序的“行为”。 RSpec并不着重于应用程序如何工作,而是着重于其行为方式,换句话说,即应用程序的实际功能。
首先,您将需要在计算机上安装Ruby。但是,如果您还没有做过,那么可以从Ruby主网站Ruby下载并安装Ruby 。
如果要在Windows上安装Ruby,则应在以下位置安装适用于Windows的Ruby安装程序: http://www.rubyinstaller.org
对于本教程,您仅需要文本编辑器,例如记事本和命令行控制台。此处的示例将在Windows上使用cmd.exe。
要运行cmd.exe,只需单击“开始”菜单并键入“ cmd.exe”,然后按回车键。
在cmd.exe窗口中的命令提示符处,键入以下命令以查看您正在使用的Ruby版本-
ruby -v
您应该看到以下类似于此的输出-
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
本教程中的示例将使用Ruby 2.2.3,但是任何高于2.0.0的Ruby版本都足够。接下来,我们需要为您的Ruby安装安装RSpec gem。 gem是一个Ruby库,您可以在自己的代码中使用它。为了安装gem,您需要使用gem命令。
让我们现在安装Rspec gem。返回您的cmd.exe窗口并键入以下内容-
gem install rspec
你应该有安装的依赖宝石的列表,这些宝石的宝石的RSpec需要函数。在输出的末尾,您应该看到如下所示的内容:
Done installing documentation for diff-lcs, rspec-support, rspec-mocks,
rspec-expectations, rspec-core, rspec after 22 seconds
6 gems installed
如果您的输出看起来不完全相同,请不要担心。另外,如果您使用的是Mac或Linux计算机,则可能需要使用sudo运行gem install rspec命令,或者使用HomeBrew或RVM之类的工具来安装rspec gem。
Hello World
首先,我们创建一个目录(文件夹)来存储我们的RSpec文件。在您的cmd.exe窗口中,键入以下内容-
cd \
然后输入-
mkdir rspec_tutorial
最后,键入-
cd rspec_tutorial
从这里,我们将创建另一个名为spec的目录,方法是输入-
mkdir spec
我们将RSpec文件存储在此文件夹中。 RSpec文件被称为“规范”。如果这让您感到困惑,则可以将规格文件视为测试文件。 RSpec使用术语“ spec”,它是“ specification”的缩写。
由于RSpec是BDD测试工具,因此目标是专注于应用程序执行的操作以及它是否符合规范。在行为驱动的开发中,通常用“用户故事”来描述规范。 RSpec旨在明确目标代码是否行为正确,换句话说,遵循规范。
回到我们的Hello World代码。打开文本编辑器并添加以下代码-
class HelloWorld
def say_hello
"Hello World!"
end
end
describe HelloWorld do
context “When testing the HelloWorld class” do
it "should say 'Hello World' when we call the say_hello method" do
hw = HelloWorld.new
message = hw.say_hello
expect(message).to eq "Hello World!"
end
end
end
接下来,将其保存到上面创建的spec文件夹中名为hello_world_spec.rb的文件中。现在回到您的cmd.exe窗口,运行以下命令-
rspec spec spec\hello_world_spec.rb
命令完成时,您应该看到如下所示的输出:
Finished in 0.002 seconds (files took 0.11101 seconds to load)
1 example, 0 failures
恭喜,您刚刚创建并运行了您的第一个RSpec单元测试!
在下一节中,我们将继续讨论RSpec文件的语法。