4

运行项目时出现以下错误:

cucumber --format junit --guess --out ./

这是错误:

Checkout:workspace / /var/lib/hudson/jobs/PersOC-CucumberTests/workspace -      hudson.remoting.LocalChannel@3b815cce
Using strategy: Default
Last Built Revision: Revision 3dc11ccba9c86308b422d6261ecde95d0a4ae999 (origin/master)
Checkout:workspace / /var/lib/hudson/jobs/CucumberTests/workspace -   hudson.remoting.LocalChannel@3b815cce
Fetching changes from the remote Git repository
Fetching upstream changes from /srv/git/cucumber.git
Commencing build of Revision 14627f9a6682b82a9b4d64172278a646da358c24 (origin/master)
Checking out Revision 14627f9a6682b82a9b4d64172278a646da358c24 (origin/master)
[workspace] $ /bin/sh -xe /tmp/hudson6604637626131848657.sh
+ cucumber --format junit --guess --out ./
/usr/lib64/ruby/gems/1.9.1/gems/json-1.7.5/lib/json/common.rb:155:in `encode': "\xD8"  on US-ASCII (Encoding::InvalidByteSequenceError)
from /usr/lib64/ruby/gems/1.9.1/gems/json-1.7.5/lib/json/common.rb:155:in `initialize'
from /usr/lib64/ruby/gems/1.9.1/gems/json-1.7.5/lib/json/common.rb:155:in `new'
from /usr/lib64/ruby/gems/1.9.1/gems/json-1.7.5/lib/json/common.rb:155:in `parse'
from /usr/lib64/ruby/gems/1.9.1/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:14:in `<class:I18n>'
from /usr/lib64/ruby/gems/1.9.1/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:6:in `<module:Gherkin>'
from /usr/lib64/ruby/gems/1.9.1/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:5:in `<top (required)>'
from /usr/lib64/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'

[DEBUG] Skipping watched dependency update for build: CucumberTests #168 due to result: FAILURE 
Finished: FAILURE

该项目中的每个文件都标有:

#!/bin/env ruby
# encoding: utf-8
# -*- coding: utf-8 -*- 

我可以尝试什么?

4

2 回答 2

2

您的环境 LC 编码存在问题。

Linux

export LANG=en_US.UTF-8

OS X (pre Mnt. Lion)

export LC_CTYPE=en_US.UTF-8

OS X(Mnt. Lion 及更高版本)

export LC_ALL=en_US.UTF-8
于 2012-09-24T14:22:35.723 回答
1

通过添加以下代码,也可以在 Ruby 代码本身中修复该问题:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
于 2015-03-20T20:07:32.727 回答