Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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将测试结果重定向到txt文件?_Ruby_Unit Testing_Testing_Automated Tests_Testunit - Fatal编程技术网

如何通过ruby将测试结果重定向到txt文件?

如何通过ruby将测试结果重定向到txt文件?,ruby,unit-testing,testing,automated-tests,testunit,Ruby,Unit Testing,Testing,Automated Tests,Testunit,当您自己的测试套件执行时,会有一些结果。 我想将这些信息保存在txt文件或html中, 但我不知道如何保存输出的信息, 如果有人知道,请与我分享,提前谢谢 下面的代码是我的实验,但不起作用 require File.join(File.dirname(__FILE__), 'person') require "test/unit" filename = "logfile.txt" $logfile = File.new(filename,"a") open(logfile,'a') { |f

当您自己的测试套件执行时,会有一些结果。 我想将这些信息保存在txt文件或html中, 但我不知道如何保存输出的信息, 如果有人知道,请与我分享,提前谢谢 下面的代码是我的实验,但不起作用

require File.join(File.dirname(__FILE__),  'person')
require "test/unit"

filename = "logfile.txt"
$logfile = File.new(filename,"a")
open(logfile,'a') { |f| f << $stdout}

class PersonTest < Test::Unit::TestCase

  FIRST_NAME, LAST_NAME, AGE = 'Nathaniel', 'Taldtretbott', 25

  def setup
    @person = Person.new(FIRST_NAME, LAST_NAME, AGE)
  end

  def test_first_name
    assert_equal "asv", @person.first_name,"try to compare"
  end

  def test_last_name
    assert_equal "Taldtretbott", @person.last_name
  end

  def test_full_name
    assert_equal FIRST_NAME + ' ' + LAST_NAME, @person.full_name
  end
end
require File.join(File.dirname(\uuuuu File\uuuuuu),'person')
需要“测试/单元”
filename=“logfile.txt”
$logfile=File.new(文件名“a”)
打开(日志文件,'a'){| f | fTry:

而不是:

open(logfile,'a') { |f| f << $stdout}
open(日志文件,'a'){| f | f

ruby testfile.rb > text_output.txt

我花了一些时间对一个解决方案进行了一些测试。我设法以这种方式将其付诸实施:

require 'test/unit'

STDOUT = $stdout = File.open("stdout.txt", "a+")
STDERR = $stderr = File.open("stderr.txt", "a+")

class AreasTest < Test::Unit::TestCase
  def test_ok
    puts "#{Time.now} Hello "
    a = 10
    assert_equal(a, 10)
  end


  def test_fail
    a = 9
    assert_equal(a, 10)
  end
end
要求“测试/单元”
STDOUT=$STDOUT=File.open(“STDOUT.txt”,“a+”)
STDERR=$STDERR=File.open(“STDERR.txt”,“a+”)
类AreasTest
它给出了一个警告,因为STDOUT和STDERR已经初始化,但仅仅重定向$STDOUT和$STDERR不起作用(仅适用于正常put)


我希望有帮助。

使用大括号图标({})来调整代码格式。非常感谢。是否有其他方法重定向输出信息?
require 'test/unit'

STDOUT = $stdout = File.open("stdout.txt", "a+")
STDERR = $stderr = File.open("stderr.txt", "a+")

class AreasTest < Test::Unit::TestCase
  def test_ok
    puts "#{Time.now} Hello "
    a = 10
    assert_equal(a, 10)
  end


  def test_fail
    a = 9
    assert_equal(a, 10)
  end
end