我正在尝试Ruby和单元测试,但是我对运行测试用例的简单尝试未返回任何结果。奇怪的是,测试在运行之前返回了运行的测试数量和断言的数量,等等。但是由于某种原因,他们停止了跑步。我有两个分开的文件:
#TipoMovimento.rb
class TipoMovimento
attr_accessor :designacao
attr_accessor :cor
attr_accessor :regras
def initialize(aDesignacao, aCor, asRegras)
@designacao = aDesignacao
@cor = aCor
@regras = asRegras
end
def ==(other)
other.class == self.class && other.state == self.state
end
def state
self.instance_variables.map { |variable| self.instance_variable_get variable }
end
end
和
#TesteTipoMovimento.rb
require './TipoMovimento.rb'
require 'test/unit'
class TesteTipoMovimento < Test::Unit::TestCase
def setup
@tm = TipoMovimento.new('Des1', 'Cor1', ['r1', 'r2'])
end
def tc_equal
tm2 = TipoMovimento.new('Des1', 'Cor1', ['r1', 'r2'])
assert_true(tm2 == @tm)
tm2 = TipoMovimento.new('Des2', 'Cor1', ['r1', 'r2'])
assert_false(tm2 == @tm)
end
end
这两个文件都在同一个文件夹中。不幸的是,当我运行测试文件时,没有任何反应。在我按Enter键后,提示仅会忽略我的命令。就像是:
C:\My Ruby Files\>ruby TesteTipoMovimento.rb
C:\My Ruby Files\>
这显然是我所缺少的简单东西,因此,如果有人可以帮助我,我将不胜感激。谢谢!
您在该测试课程中没有测试。要使方法成为测试,请在其名称前加上test_
。
class TesteTipoMovimento < Test::Unit::TestCase
def setup
@tm = TipoMovimento.new('Des1', 'Cor1', ['r1', 'r2'])
end
def test_tc_equal
tm2 = TipoMovimento.new('Des1', 'Cor1', ['r1', 'r2'])
assert_true(tm2 == @tm)
tm2 = TipoMovimento.new('Des2', 'Cor1', ['r1', 'r2'])
assert_false(tm2 == @tm)
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句