2010-11-22 10 views
0

私は継続的な統合を設定しています。私は、テストを実行から除外する機会を実装することに決めました。 QA。テストの除外

  • はあなたのexperinceを共有してもらえtracの
  • にチケットの説明のリストを除外テストのソース

  • 中央除外リストに

    1. 特別なコメントと示している:私はそれを作るための3つの方法を参照してください真の決定を適用する方法。ありがとう!

  • 答えて

    0

    私はテストソース内のコメントを使用してお勧めしません。あなたのテストがバージョン管理下にあると仮定すると、このような構成設定を変更するたびに変更するべきではありません。

    それはあなたのビルドシステムを知らなくても良い勧告を与えるのは難しいですが、あなたのQAシステムのグローバル「環境設定」のようなものがあれば、私はそこにそれを置くことをお勧めします。あなたはTracのチケットで実行するテストを指定し、その後awesomになり、正しいテストを実行して自動化することができるしている場合は - 私はこれが可能であればそれほど知らないだろうと試みたことがありません。

    -1

    私は結果を共有することを決めました。私はどんなコメントを聞いてうれしいでしょう

    #!/bin/sh 
    
    USER=... 
    PASSWD=... 
    
    TRAC_URL=https://... 
    
    # keywords which indicates block with list of excludable tests 
    START_KW=excl 
    END_KW=endexcl 
    
    function get_active_tickets_numbers { 
    # wget page with active tickets 
    # cut number from paths like '/ticket/161', which is found in '<a title=View ticket href=/ticket/161>' 
    
    
        local user=$USER 
        local passwd=$PASSWD 
        # set max to big value or else there will be several pages 
        local active_tickets_url=$TRAC_URL/report/2?max=1000 
    
        # uniq : link to the same ticket repeats in columns 'Ticket' and 'Summary' so delete repeats 
        wget \ 
        --no-check-certificate --http-user=$user --http-password=$passwd -O \ 
        - $active_tickets_url \ 
        | perl -ne '/ticket\/(\d+)/; print "$1 "' \ 
        | uniq 
    } 
    
    function get_excl_list_of_ticket { 
    # wget ticket page 
    # cut blocks between $start_kw (keyword) and $end_kw that must be located in decription section 
    # remove html tags 
    # cut pathes by the rule: all allowable chars starting at the end of word 
    
        local ticket_num=$1 
    
        local user=$USER 
        local passwd=$PASSWD 
        local ticket_url=$TRAC_URL/ticket/$ticket_num 
        local start_kw=$START_KW 
        local end_kw=$END_KW 
        local legal_char='[a-zA-Z0-9\/_\-.]' 
    
        wget \ 
        --no-check-certificate --http-user=$user --http-password=$passwd -O \ 
        - $ticket_url \ 
        | perl -e \ 
        'undef $/; 
         $_ = <>; 
         while (/'$start_kw'(.*?)'$end_kw'/sg) { 
         $block = $1; 
         $block =~ s/<.*?>//sg; 
         while ($block =~ /('$legal_char'+)[ \n\t]/g) { 
          print "$1\n"; 
         } 
         }' 
    } 
    
    function get_excl_list_1 { 
    
        nums=`get_active_tickets_numbers` 
    
        for num in ${nums[@]}; do 
        get_excl_list_of_ticket $num 
        done 
    } 
    
    function get_excl_list { 
    
        get_excl_list_1 | uniq 
    } 
    
    get_excl_list 
    
    +0

    言語、ツール、プラットフォームはどのコンテキスト(開発環境)の情報ですか? –

    +0

    最初の行は#!/ bin/shです。不明な点は何ですか? – krvladislav

    関連する問題