我在使用测试类中定义的全局变量时遇到问题,然后在库文件中引用该全局变量。我正在使用 Ruby 1.9.3p392 和测试单元 2.5.4。
这是运行测试的代码:
require 'rubygems'
gem 'test-unit'
require 'test/unit'
require 'ci/reporter/rake/test_unit_loader'
load '../lib/functions.rb'
require 'watir'
class Test_002 < Test::Unit::TestCase
include Functions
class << self
def startup
@browser = Watir::Browser.new :ie
@browser.speed = :fast
end
def shutdown
@browser.close
end
end
def test_001_login
login('some_url', 'some_user', 'some_passw')
end
end
Run Code Online (Sandbox Code Playgroud)
这是包含登录功能的库的一部分:
require 'rubygems'
module Functions
def login(url, user, passw)
@browser.goto(url)
...
end
end
Run Code Online (Sandbox Code Playgroud)
这是输出:
Started
E
===============================================================================
Error: test_001_login(Test_002)
NoMethodError: undefined method `goto' for nil:NilClass
(...)
23: end
24:
25: def …Run Code Online (Sandbox Code Playgroud) 这个想法是:
到目前为止,我尝试过:
还有其他想法吗?
我刚刚完成了 Sonatype Nexus 3.2.1-01 的安装,我正在尝试使用 Jenkins 作业和 Nexus Artifact Uploader 2.9 插件发布一些工件。
上传开始正常:
100 % completed (572 kB / 572 kB).
Run Code Online (Sandbox Code Playgroud)
但随后它抛出错误:
Return code is: 502, ReasonPhrase:Bad Gateway.
Run Code Online (Sandbox Code Playgroud)
Jenkins 和 Nexus 服务器都在反向代理后面运行,我认为这是问题的根源。
Apache 日志似乎表明 Nexus 没有回复该请求:
[2017 年 4 月 6 日星期四 18:50:46.128569] [代理:错误] [pid 10327] (32)断管:
[client some_ip:57928] AH01084: pass request body failed to 0.0.0.0:8081 (0.0.0.0)
[Thu Apr 06 18:50:46.128649 2017] [proxy_http:error] [pid 10327] [client some_ip:57928] AH01097: pass request body failed to 0.0.0.0:8081 (0.0.0.0) from some_ip ()
Run Code Online (Sandbox Code Playgroud)
这是我在 Apache …