Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ruby中从单元测试初始化env.rb_Ruby_Unit Testing_Cucumber - Fatal编程技术网

在ruby中从单元测试初始化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

如何从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

    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