gpt4 book ai didi

ruby - MiniTest 和非拉丁语测试说明

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:10 29 4
gpt4 key购买 nike

Ruby 1.9 有很棒的 Unicode 支持,是吗?

# encoding: utf-8
require 'minitest/spec'
require 'minitest/autorun'

describe "test" do
it "α β γ δ & a b c d" do
(1+1).must_equal 3
end
end

# 1) Failure:
# test_0001__a_b_c_d(TestSpec) [test.rb:7]:
# Expected 3, not 2.

我的非拉丁字母在哪里?我应该总是用糟糕的英语写我的测试吗?

因为我可以用任何 Unicode 符号定义方法:

def α_β_γ_δ_a_b_c_d
puts "geeeek"
end

α_β_γ_δ_a_b_c_d
#=> "geeeek"

PS 我的问题好像不太清楚。我想问一下如何使minitest的失败描述显示我的非拉丁定义。

最佳答案

关于regexp used here .它在猴子用 /\s+/ 修补 /\W+/ 后显示 utf-8 字符。

# encoding: utf-8
require 'minitest/spec'
require 'minitest/autorun'

class MiniTest::Spec < MiniTest::Unit::TestCase
def self.it desc = "anonymous", &block
block ||= proc { skip "(no tests defined)" }

@specs ||= 0
@specs += 1

# regexp /\W+/ replaced with /\s+/
name = "test_%04d_%s" % [ @specs, desc.gsub(/\s+/, '_').downcase ]

define_method name, &block

self.children.each do |mod|
mod.send :undef_method, name if mod.public_method_defined? name
end
end
end

describe "test" do
it "α β γ δ & a b c D" do
(1+1).must_equal 3
end
end

# 1) Failure:
# test_0001_α_β_γ_δ_&_a_b_c_d(test) [forwarding.rb:24]:
# Expected: 3
# Actual: 2

关于ruby - MiniTest 和非拉丁语测试说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9430930/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com