Estou aprendendo a testar um programa CLI usando o módulo https://github.com/rogpeppe/go-internal testscript .
Quando eu uso esta linha no meu .txtar
arquivo:
stderr /No help topic/gm
...e a saída de erro real é:
No help topic for 'totalfoobar'
Eu recebo o erro usage: stderr [-count=N] 'pattern'
.
Eu olhei os documentos aqui e, para ser honesto, é difícil de seguir. Não vejo nenhuma explicação do que -count=N
significa.
Eu tentei todas as seguintes variantes:
stderr -count=1 No help topic for 'totalfoobar'
stderr No help topic for 'totalfoobar'
stderr *No help topic*
e não importa a string, a afirmação ainda falha com o mesmo erro.
P: Como faço para gerar uma substring das saídas stderr/stdout totais, para testes mais flexíveis?
Cite o padrão com aspas simples:
As linhas são analisadas por (*TestScript).parse :
E o resultado é passado como
args
parâmetro para scriptMatch finalmente. A implementação do scriptMatch mostra que além do-count
sinalizador opcional, ele espera apenas 1 argumento. SeNo help topic
não estiver entre aspas, será analisado como 3 argumentos, o que não atende à expectativa:BTW, ele compila o padrão assim:
Tenha em mente que você deve escrever a expressão regular na sintaxe do sabor Go.