class Tryouts::TestBatch
def execute_with_fresh_context(test_case)
def execute_with_fresh_context(test_case) fresh_container = Object.new # Execute setup in fresh context if present setup = @testrun.setup if setup && !setup.code.empty? fresh_container.instance_eval(setup.code, setup.path, 1) end # Execute test in same fresh context code = test_case.code path = test_case.path range = test_case.line_range result_value = fresh_container.instance_eval(code, path, range.first + 1) expectations_result = evaluate_expectations(test_case, result_value, fresh_container) build_test_result(test_case, result_value, expectations_result) rescue StandardError => ex build_error_result(test_case, ex.message, ex) end