Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > не запускаются ruby тесты в TeamCity


Автор: rang3r 10.8.2015, 11:25
Добрый день.

В проекте есть тесты юая написанные на ruby.
пробую встроить эти тесты в ci процесс (сервер TeamCity).

Сначала попробовал все руками сделать.
www.rb
Код

require 'rubygems'
require 'selenium-webdriver'
require 'test/unit'
# coding: utf-8
class TC_MyTest < Test::Unit::TestCase

        attr_accessor :driver
        attr_accessor :cap

        def setup
                puts 'setup'
                @cap = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => true)
                @driver = Selenium::WebDriver.for(:remote, :desired_capabilities => @cap)
        end

        def teardown
                puts 'teardown'
                @driver.quit
        end

        def testGoogleRemoteServerHtmlUnit
                @driver.navigate.to "http://google.com"
                assert_not_nil(@driver.title, "Title is null")
                puts '' + @driver.title
        end
end


rakefile
Код

require 'rake/testtask'

# Run All Tests Task
#
Rake::TestTask.new('test') do |t|
  t.libs = ["lib"]
  t.pattern = '/home/selenium/tests/*.rb'
end

task "default" => ["test"]


Это запускаю, и получаю результат:
Код

[root@ip-10-74-181-48 tests]# rake
Loaded suite /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader
Started
setup
Google
teardown
.

Finished in 0.470909457 seconds.
------
1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
------
2.12 tests/s, 2.12 assertions/s


Все хорошо.

Теперь сделал конфиг в ТимСити, указал рекфайл. При запуске получаю вот что :
Код

[07:59:55]: Invoke test
[07:59:55]: [Invoke test] Execute test
[07:59:55]: [Execute test] RuntimeError: Command failed with status (1): [ruby -I"lib" -I"/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib" "/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "/home/selenium/tests/*.rb" ]

Stacktrace:
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:108:in `block (3 levels) in define'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `call'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `sh'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `sh'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:96:in `ruby'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `ruby'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:104:in `block (2 levels) in define'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:58:in `verbose'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:100:in `block in define'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:260:in `block in execute'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:266:in `execute'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/share/ruby/2.0/monitor.rb:211:in `mon_synchronize'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:235:in `block in my_invoke_with_call_chain'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:234:in `my_invoke_with_call_chain'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:311:in `standard_exception_handling'
/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:179:in `run'
/files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rakerunner.rb:40:in `<main>'
[07:59:55]: Rake aborted!


Пробую запустить комманду из эксепшена:
Код

[root@ip-10-74-181-48 tests]# ruby -I"lib" -I"/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib" "/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "/home/selenium/tests/*.rb"
Loaded suite /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader
Started
setup
Google
teardown
.

Finished in 0.437092354 seconds.
------
1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
------
2.29 tests/s, 2.29 assertions/s


Тоже все работает.

Вопрос: на что рушается ТимСити. И как побороть эту проблему ?

Спасибо! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)