gpt4 book ai didi

ruby - 为程序编写测试文件

转载 作者:行者123 更新时间:2023-11-28 21:31:23 25 4
gpt4 key购买 nike

因此,在 stackoverflowers 的帮助下,我开始并发布了我的第一个 Ruby 程序。这是一个只能以一种方式启动和运行的简单程序。现在我想为那里的程序写一个测试文件:https://github.com/saigkill/youtube_dlhelper。相关文件在 lib/和 lib/youtube_dlhelper 下。我已经阅读了很多关于 rspec、cucumber 和其他测试内容的网站。但是我不确定,我的程序中可以测试什么。也许有人可以帮我解决这个问题?


非常感谢。现在我想我已经了解了基础知识。我定义了不同的测试用例:* 以 url 作为参数运行脚本 -> 应该是 passig* 在没有参数的情况下运行脚本 -> 应该会失败。

现在我对如何扩展测试以向该交互式脚本提供输入感兴趣。启动脚本后,我正在使用该代码:

def self.check_target
@entrygroup = ask 'What kind of entry do you have? (Interpret or Group)'

case
when @entrygroup == 'Interpret' then
@firstname = ask 'Whats the first name of your interpret?'
@surname = ask 'Whats the surname of your interpret?'
$folder = "#{@surname}_#{@firstname}/Youtube-Music"
when @entrygroup == 'Group' then
@group = ask 'Whats the name of the group?'
$folder = "#{@group}/Youtube-Music"
else
puts 'Just the entries "Interpret" or "Group" are allowed'
abort('Aborted')
puts 'Breakpoint'
end
end

我如何告诉测试使用哪个输入?

最佳答案

我是 TDD 的新手.我写Sinatra应用程序,我使用 RSpecCapybara 但命令行应用程序我会尝试学习和使用 minitest 现在是 ruby​​ 核心的一部分。如果您想使用最新版本,可以使用 gem。

所有测试框架的代码语法都比较容易学习。您将在 15-20 分钟内了解它的工作原理。但您必须了解的是,TDD 是一种关于如何开发程序的政策策略

总结一下:

  • 首先编写失败
  • 的测试
  • 然后编写代码

不断重复这个过程。一旦习惯了编写测试,您就会精通编写越来越聪明的测试,即检查对象、测试类等。这里有趣的部分是,如果您的测试随着时间的推移变得足够聪明,那么您的新代码何时以及是否会中断旧零件,你知道的。

现在就 RSpec 而言,在你的项目的根路径中创建一个 spec/ 目录 - 你可以选择你的路径,但我认为没有理由打破这里的约定 -并将这些行添加到您的 .rspec

--format progress documentation
--color

我将 autotest 与 RSpec 一起使用。有一个很不错web tutorial Jeffrey Way 展示了如何将 RSpecautotest 结合使用,您可能想看一看。

附言。对于迷你测试,请查看 here .

关于ruby - 为程序编写测试文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20847914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com