Domanda

C'è un team che sta lavorando al test di accettazione dell'applicazione GUI X11 nella nostra azienda e hanno creato un mostruoso framework di test di accettazione che guida la GUI e gestisce gli scenari.

Il framework è stato scritto usando Perl 5 e i file di scenario sembrano più complessi programmi Perl (lunghi migliaia di righe con stile di programmazione procedurale) rispetto ai test di accettazione.

Di recente ho imparato Ruby Cucumber, e generalmente uso Ruby da parecchio tempo. Ma sfortunatamente non posso semplicemente spingere Ruby per sostituire Perl perché le persone che stanno scrivendo tutto questo non conoscono Ruby ed è abbastanza certo che non vogliono "questo". tipo di interruzione.

Quindi, per avvicinare Ruby's Cucumber al loro lavoro, l'ho riscritto usando Perl 5. Sfortunatamente non sono un programmatore Perl e mi piacerebbe avere una recensione del codice e ascoltare suggerimenti da persone che conoscono entrambi Perl e cetriolo.

Ciao utenti StackOverflow di Perl / Cucumber - per favore aiutatemi a creare questo " open source " tenta di ricreare Cetriolo per Perl! Mi piacerebbe sentire i tuoi commenti e accetterò qualsiasi aiuto accettabile.

Il codice sorgente minimo è qui:

http://github.com/kesor/p5-cucumber

Grazie per l'attenzione.

Per chi non ha familiarità con il cetriolo, ti preghiamo di dare solo un piccolo momento per dare un'occhiata a questa piccola piccola pagina: http: //cukes.info/

È stato utile?

Soluzione

  

Puoi rivedere la mia riscrittura del Perl di   Cetriolo?

Risposta: Sì.

Ho letto il codice github che hai pubblicato. Sembra abbastanza buono.

Sono curioso del seguente frammento di Parser :: Parser.yp :: ERROR. Perché hai scelto di utilizzare " e fare {} " oltre " if () {} " ;? Stile? scoping? altro?

  exists $parser->YYData->{ERRMSG}
  and do {
    print $parser->YYData->{ERRMSG};
    delete $parser->YYData->{ERRMSG};
    return;
  };

Non ho usato il cetriolo e sto ancora cercando di avvolgere la mia testa attorno al modello di utilizzo. Come farebbe qualcuno a verificare / eseguire l'esempio della tua calcolatrice?

Se prevedi di rilasciare il tuo codice su CPAN (e dovresti), ti consigliamo di raggruppare questo sorgente git in un tarball installabile. Ti consigliamo di includere uno degli strumenti di installazione del modulo: ExtUtils :: MakeMaker, Module :: Build, ecc. Di recente ho iniziato a utilizzare Dist :: Zilla , e ne sono davvero contento. Mi ha fatto superare l'energia di attivazione del rilascio del mio primo modulo cpan.

20 secondi tour di Dist :: Zilla:

  1. scarica e installa Dist :: Zilla e i suoi requisiti (ci sono molti, in quanto è uno strumento per sviluppatori)
  2. crea un file dist.ini in alto livello del pacchetto ("dzil new MyPackage")
  3. run 'dzil test', 'dzil build' e 'dzil release ", per testare, (compilare e testare), (compilare, testare e rilasciare)

Vedi Dist :: Zilla :: Tutorial

Altri suggerimenti

Potresti ottenere un buon aiuto su Perlmonks . Quel sito è orientato verso questo tipo di post, mentre StackOverflow riguarda più le domande dirette e rispondenti.

Buona fortuna, :)

Esiste un'implementazione piuttosto più completa di Cucumber su Perl sotto forma di Test :: BDD :: Cucumber .

Test :: A8N soddisfa le tue esigenze?

In caso contrario, ci sono molti altri Test: : moduli su CPAN che potrebbero fare ciò che cerchi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top