1
페이지 개체 패턴을 사용하도록 내 통합 사양을 리팩토링하고 있습니다. 데이터베이스가없는 JS 애플리케이션을 테스트하고있다. 나는 poltergest를 사용하고있다.페이지 모델이있는 카피 바라의 속도가 매우 느림
선택기를 페이지 개체로 추상화하면 테스트가 상당히 느려집니다.
require 'benchmark'
class HostsPage
include Capybara::DSL
def has_search_results?
has_css?('.results')
end
end
feature 'blaa blaa' do
let(:host) { HostsPage.new }
before do
visit('/')
click_link 'Query Hosts'
end
scenario 'User does something' do
puts Benchmark.measure { host.has_search_results? }
puts Benchmark.measure { have_css('.results') }
skip
end
end
이 출력 :
0.030000 0.010000 0.040000 ( 2.051050)
0.000000 0.000000 0.000000 ( 0.000008)
하면 알 수 있듯이, 첫 번째 결과는 두 번째 및 시험보다 훨씬 느리다는 기본적 페이지 객체 추상화 제외하고 동일하다.
내 spec_helper은 다음과 같습니다
이require 'capybara/rspec'
require 'capybara/poltergeist'
Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support', '**', '*.rb'))].each { |f| require f }
RSpec.configure do |config|
config.order = :random
config.warnings = false
Capybara.default_driver = :poltergeist
Capybara.app = App.new # this points to a basic Sinatra app that serves index.html
end
가 어떻게이 아래로 추적 것? 그 원인은 무엇입니까?