Muffin
Muffin

Reputation: 31

Ruby Minitest 0 tests

Hi I'm completely new to Ruby. I'm trying to run Minitests, it use to work fine until I added a constructor to my CountDown class.

Here is the code:

require 'benchmark'

require 'minitest/autorun'

#! /usr/bin/env ruby
#This is our countdown class
# :reek:DuplicateMethodCall
# :reek:TooManyStatements
class CountDown

  def initialize(time)
    @time = time
  end

  def count()
    wait_time = @time.to_i
    print wait_time.to_s + " seconds left\n"
    sleep 1
    wait_time = wait_time - 1
    wait_time.downto(1).each do |time_left|
        sleep 1
        print time_left.to_s + " seconds left\n" if (time_left % 60) == 0
    end
    print "\a"
  end
end
#This class is responsible for our test cases
class CountDownTest < Minitest::Test

  def setup
    @count_down = CountDown.new(10)
  end

  def testing_lowerbound

    time = Benchmark.measure{
      @count_down.count
    }

    assert time.real.to_i == 10

  end

end

This my my output:

teamcity[enteredTheMatrix timestamp = '2017-09-28T15:10:11.470-0700']

teamcity[testCount count = '0' timestamp = '2017-09-28T15:10:11.471-0700'] Finished in 0.00038s 0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Process finished with exit code 0

Any idea what's wrong? It looks fine to me.

Upvotes: 1

Views: 119

Answers (1)

tadman
tadman

Reputation: 211560

Tests should start with the prefix test_ not testing_. Using the wrong prefix makes MiniTest assume they're doing something other than running a test, so it ignores them.

Upvotes: 1

Related Questions