2013-10-29 1 views
1

나는 어떤 해결책도 찾을 수없는 매우 기본적인 문제가 있습니다.루비 테스트 유닛으로 데이터 구동 테스트하기

그래서 Watun Webdriver를 testunit과 함께 사용하여 웹 응용 프로그램을 테스트하고 있습니다. 여러 테스트 데이터 집합에 대해 실행하고 싶은 테스트 메서드가 있습니다.

틀림없이 오래된 루프 트릭을 사용하여 실행할 수는 있지만 원하는 것은 1 회만 실행했기 때문에 표시됩니다.

나는 testng에서 우리가 @dataprovider를 가지고 있다는 것을 알고, 나는 testunit에서 비슷한 것을 찾고있다.

도움이 되었습니까? 이 잘 작동

[1,2].each do |p| 
define_method :"test_that_#{p}_is_logged_in" do 
# code to log in 
end 
end 

: 여기

는 내가 지금까지 가지고있는 것입니다. 하지만 내 문제는 내가 루프 할 수있는 데이터를 만드는 방법과 장소입니다. 엑셀에서 내 데이터를 읽는 중 내가 얻은 해시 목록을 가지고 있다고 말합니다. [{: name => abc, : password => 테스트}, {: 이름 => DEF : 비밀번호 => 테스트}]

현재 코드 상태 : 내가 루프를 실행하는 데 어려움을 겪고 있어요

class RubyTest < Test::Unit::TestCase 

    def setup 
     @excel_array = util.get_excel_map //This gives me an array of hash from excel 
    end 

    @excel_array.each do |p| 
    define_method :"test_that_#{p}_is_logged_in" do 
     //Code to check login 
    end 
    end 

. 물론

require 'minitest/autorun' 

describe 'Login' do 
    5.times do |number| 
    it "must allow user#{number} to login" do 
     assert true # replace this assert with your real code and validation 
    end 
    end 
end 

, 내가 사양을 혼합하고있다 :이 같은 일을하고자하는

+0

아직 testunit을 배우려고 노력 중이므로 공유 할 수있는 코드가 없기 때문에 시작하기 전에 기본 아이디어를 얻고 싶습니다. – Pratik

+0

적어도 시작하고 필요한 질문을하십시오. 잇다. StackOverflow 전통입니다. 당신은 분명히 문제가 있습니다. 당신은 뭔가를 시도했을 것입니다 ... 그렇지 않으면 그 문제를 해결하지 못했을 것입니다. – vgoff

+0

코드 – Pratik

답변

1

클래스 선언 라인에 : 나는 "NilClass (NoMethodError) 정의되지 않은 메서드`각 '전무를 들어"라는 오류가 테스트/유닛은 여기서 어설 션을하지만, 어설 션이있는 어쨌든 어설 션/기대를 놓을 것입니다.

이 코드는 약 5 회 통과되며 스토리 폼으로보고 할 경우 적절한 테스트를 위해 사용자 번호가 변경됩니다.

어디에서 데이터를 가져올 지, 누락 된 코드의 일부이며 오류가 아직 시도되지 않은 부분입니다.