0
내가 그렇게 몇 방법을 포함하는 파일 테스트/성능/some_file.rb 에있는 내 레일 애플 리케이션레일 성능 테스트 -run 하나의 테스트
부부 성능 테스트가 있습니다. 좋은 로그를 얻기 위해 하나만 실행해야합니다.
파일 안에 몇 개의 test_ * 메소드가 있습니다.
성능 테스트를 하나만 실행할 수있는 방법이 있습니까? 나는 실행 해요 :
rake test:benchmark TESTOPTS="--name=test_with_pet_care_job"
을 내 테스트가 시작처럼 보인다하지만 어떤 이유로 나는 단지 하나 개의 테스트를 실행할 수있는 에 대한 동결?
테스트/성능/등록/parent_full_test.rb
require './test/test_helper'
require 'rails/performance_test_help'
require 'benchmark_test_helper'
require './test/performance/registrations/logging_methods'
module Registration
class ParentFullTest < ActionDispatch::PerformanceTest
attr_reader :parent_data
include Registrations::LoggingMethods
def test_with_pet_care_job
registration_step '01 Member should be created' do
post registration_submit_path, parent_data[:base_info]
end
registration_step '02 Job should be posted' do
post registration_submit_path, parent_data[:petcare_job]
end
end
def test_with_companion_care_job
registration_step '01 Member should be created' do
post registration_submit_path, parent_data[:base_info]
end
registration_step '02 Job should be posted' do
post registration_submit_path, parent_data[:companion_care_job]
end
end
def setup
refresh_member_data
delete logout_path
write_to_log("performance test started")
end
def teardown
Account::Member.last.profile.destroy # to clean mongo data
end
private
def refresh_member_data
@parent_data = BenchmarkTestHelper.yaml_data(data_file)
end
def data_file
File.join(File.expand_path('..' ,__FILE__), 'data/parent.yml.erb')
end
end
끝
테스트/성능/등록/logging_methods.rb
module Registrations
module LoggingMethods
def registration_step(step_name)
before_count = Profile::MemberActivity.count
write_to_log(step_name + ' started')
yield
write_to_log(step_name + ' finished')
assert_equal Profile::MemberActivity.count, before_count+1, step_name
end
def write_to_log(message)
Rails.logger.debug message
end
end
: 여기
소스 파일입니다 test/benchmark_test_helper.rb레일 4에서 5,require 'yaml'
module BenchmarkTestHelper
class << self
def yaml_data(file_name)
YAML.load(ERB.new(File.read(file_name)).result).with_indifferent_access
end
end
end
이 명령은 다음과 같습니다 레일 -f 테스트 테스트/성능/some_file.rb --name = test_with_pet_care_job –
나는 그것이 커튼 뒤에 동일한 명령 같아요. 어쨌든 당신이 제안한 것처럼 실행 해보십시오 - 결과는 같습니다. 버그처럼 보입니다. 소스 코드 게시하기 – Vladimir
Rack 1.5 이후에 Rack :: File headers 매개 변수가 cache_control을 대체합니다. 로드 스위트 테스트/성능/등록은/ parent_full_test는 등록 :: ParentFullTest 번호의 test_with_babysitter_job (718 밀리 워밍업) process_time 시작 : 729 MS 을하고 이잖아 – Vladimir