在ruby中从单元测试初始化env.rb
如何从Test::Unit::TestCase初始化env.rb。我希望能够在我的ruby/Cucumber应用程序中对我的ruby方法进行单元测试,env.rb在此之前做了很多设置 简化示例: env.rb在ruby中从单元测试初始化env.rb,ruby,unit-testing,cucumber,Ruby,Unit Testing,Cucumber,如何从Test::Unit::TestCase初始化env.rb。我希望能够在我的ruby/Cucumber应用程序中对我的ruby方法进行单元测试,env.rb在此之前做了很多设置 简化示例: env.rb require 'logger' $LOG = Logger.new(STDOUT) HelloWorld.rb class HelloWorld def say_hi greeting = 'Hello World' $LOG.info greeting
require 'logger'
$LOG = Logger.new(STDOUT)
HelloWorld.rb
class HelloWorld
def say_hi
greeting = 'Hello World'
$LOG.info greeting
greeting
end
end
require 'hello_world'
class TestHelloWorld < Test::Unit::TestCase
def test_say_hi
assert_equal('Hello World', HelloWorld.new.say_hi)
end
end
TestHelloWorld.rb
class HelloWorld
def say_hi
greeting = 'Hello World'
$LOG.info greeting
greeting
end
end
require 'hello_world'
class TestHelloWorld < Test::Unit::TestCase
def test_say_hi
assert_equal('Hello World', HelloWorld.new.say_hi)
end
end
运行TestHellowWorld为nil:NilClass`提供了NoMethodError:undefined methodinfo',假设Test::Unit脚本目录和cucumber项目是同级的,您可以使用relative require来require env.rb。例如: /cucumber_项目/功能/支持/env.rb 你好_world.rb test.rb
按照我提问的方式工作,但不能解决我的主要问题。我需要更深入地挖掘,找出如何更好地提问。非常感谢。
require_relative 'hello_world'
require_relative '../cucumber_project/features/support/env'
require 'test/unit'
class TC_HelloWorld < Test::Unit::TestCase
def test_say_hi
assert_equal('Hello World', HelloWorld.new.say_hi)
end
end