代码之家  ›  专栏  ›  技术社区  ›  0100110010101

有可能用水豚来测试Java应用程序吗?

  •  5
  • 0100110010101  · 技术社区  · 16 年前

    我喜欢Capybara的总体思想,但是由于某些原因,我不能在Java应用程序上运行它。

    这有可能吗?

    3 回复  |  直到 16 年前
        1
  •  6
  •   duncan    15 年前

    你不能在Java测试环境中测试它,因为你没有Rack基础设施,但是你可以创建一个单独的ruby测试套件,当你的Java应用程序在你的开发机器上运行时运行rake(甚至可以从Rakefile自动启动应用程序)

    #
    # features/support/env.rb
    #
    $: << File.join(File.dirname(__FILE__), "..", "..", "lib")
    
    browser = :chrome #:htmlunit #:chrome #:firefox
    
    host = ENV['TESTHOST'] || 'http://localhost:8080'
    # may be non url was given
    if not host.include?("//")
      host = "https://#{host}"
    end
    
    ENV['LANG'] = "en_US.UTF-8"
    
    require 'rubygems'
    require 'capybara'
    require 'capybara/cucumber'
    require 'selenium-webdriver'
    
    require 'culerity' if browser == :htmlunit
    
    case browser
    when :htmlunit
      Capybara.default_driver = :culerity
      Capybara.use_default_driver
    else
      Capybara.default_driver = :selenium
      Capybara.app_host = host
    end
    
    Capybara.run_server = false
    if Capybara.default_driver == :selenium
      Capybara::Driver::Selenium.browser = browser
      driver = Selenium::WebDriver.for browser
    end
    
        2
  •  0
  •   AlistairH    15 年前

    据我所知,水豚和红宝石有关。 但是,如果您对将Cucumber与Java结合使用感兴趣,请查看cuke4duke: http://wiki.github.com/aslakhellesoy/cuke4duke/

    您可以使用多种语言编写步骤定义,并使用WebDriver驱动浏览器。

        3
  •  0
  •   manat    13 年前

    刚刚偶然发现这个,发现cuke4duke已经停产了。不过,更好的消息是,有一个cucumberforjvm的官方实现,如下所示 cucumber-jvm

    一开始我以为会是JCucumber:P