首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby Minitest入门

Ruby Minitest入门
EN

Stack Overflow用户
提问于 2015-01-19 14:21:04
回答 1查看 264关注 0票数 0

我第一次使用的是最小的测试方法,我很难理解如何编写我的第一个测试方法。有人能帮助我理解在下面的播放器方法get_name中我应该测试什么吗?

代码语言:javascript
复制
class Player
  def get_name(player)
    puts `clear`
    center("#{player}, whats your name bro/ladybro?")
    @name = gets.chomp
    until @name =~ /\A[[:alnum:]]+\z/
      center("you can do a combination of alphanumeric characters")
      @name = gets.chomp
    end
  end
end

这就是我的测试文件中的内容,我想我应该测试regex,以确保它使用alpha和数字字符。

代码语言:javascript
复制
class TestPlayer < Minitest::Test
  def test_get_name
    describe "get_name" do
      it "should allow an input of alphanumeric characters" do
        assert_match(/\A[[:alnum:]]+\z/, "test_string123")
      end
    end
  end
end

但是当我运行测试时,似乎什么都没有发生,我想我应该有一个断言。

代码语言:javascript
复制
Run options: --seed 10135

# Running:

.

Finished in 0.001565s, 638.9776 runs/s, 0.0000 assertions/s.

1 runs, 0 assertions, 0 failures, 0 errors, 0 skips

有人能帮助演示我应该如何为这个场景编写测试吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 17:19:57

最小测试可以描述如下(断言语法):

  1. 它只是一个简单的Ruby文件,其中有一个类,它通常是Minitest::Test的子类。
  2. 方法setup将首先被调用;您可以定义在每个测试中可能需要的对象。考虑在这里在Player方法中的实例变量中分配一个setup对象的实例,这样您就可以在测试类的其他地方使用它。
  3. 测试定义在以字符串开始的方法中:test_;任何其他方法都可以用来减少代码的重复,但它不会被视为测试的一部分。
  4. 通常,您应该考虑测试要测试的方法的返回值。
  5. 使用外部输入测试方法是more convoluted,我建议从具有可测试输出的测试方法开始。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28026749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档