Perguntas frequentes
Licença, privacidade, reprodutibilidade e o que as pessoas conferem antes de colocar um gerador em um pipeline de build. Se a sua pergunta não está aqui, o rastreador de issues está aberto.
Como isso é diferente de dd, fsutil ou truncate?
Esses comandos dão um arquivo do tamanho certo cheio de nada. Um arquivo de 2 MB chamado photo.png feito assim não é um PNG, então qualquer coisa que realmente o interprete o recusa pelo motivo errado, e o seu teste também passa pelo motivo errado. Isto produz um PNG real de exatamente 2 MB que abre em um visualizador de imagens e vem com uma declaração de como o seu sistema deve tratá-lo.
tfg generate --format png --size 2mb --out ./fixtures
É gratuito, e posso usar no trabalho?
Sim para os dois. É distribuído sob a GPL-3.0 e não custa nada. Não há conta, chave de licença nem plano pago.
Posso usar os arquivos gerados em um produto de código fechado?
Sim. A licença cobre o código da ferramenta, não o que ela produz. Arquivos, receitas e manifestos gerados são saída e não obras derivadas, então você pode versioná-los e distribuí-los sem nenhuma obrigação.
Os arquivos gerados contêm dados pessoais reais?
Não. Tudo dentro deles é sintetizado a partir de um seed. Nenhum conjunto de dados é lido, nenhum serviço é contatado e nenhum conteúdo de terceiros é embutido. Trate um endereço de e-mail gerado como inutilizável em vez de não usado, porque qualquer texto aleatório pode coincidir por acaso com um real.
Vou obter exatamente os mesmos arquivos em outra máquina?
Sim, byte a byte, com a mesma receita e o mesmo seed. O projeto testa isso a cada mudança, e quebrá-lo exige uma versão maior. É isso que permite versionar uma receita pequena em vez de fixtures binárias grandes.
Precisa de conexão com a internet?
Nunca. Não há telemetria, verificação de atualizações nem cliente de nuvem, e o binário da linha de comando não tem pilha de rede compilada nele. Funciona em uma máquina sem rede e dentro de um ambiente corporativo fechado.
O que acontece se eu pedir um tamanho que um formato não consegue alcançar?
Você recebe um erro que nomeia o formato, o menor tamanho possível, o motivo desse piso e o que fazer em vez disso, e nenhum arquivo é escrito. A ferramenta nunca arredonda um tamanho em silêncio. Cada piso está listado na página de formatos.
tfg formats png
Posso gerar um arquivo deliberadamente quebrado?
Sim. Adicione --damage zero-head e o arquivo sai com exatamente o tamanho pedido, com os primeiros bytes sobrescritos por zeros, de modo que um leitor o recusa, e o manifesto diz que o seu sistema deve rejeitá-lo. A página sobre arquivos de teste corrompidos traz os detalhes.
tfg generate --format png --size 2mb --damage zero-head --out ./out
Quais formatos vêm a seguir?
7z, mp3 e mp4. Hoje 26 formatos funcionam de ponta a ponta.
Em quais sistemas posso rodar?
A linha de comando roda em Windows e Linux, tanto em Intel quanto em ARM, e em Macs com Apple Silicon. A janela de desktop é distribuída para Windows em Intel, Linux em Intel e Macs com Apple Silicon. Macs Intel não são suportados e nada é compilado para eles.
Preciso instalar alguma coisa?
Não. Baixe o arquivo do seu sistema, descompacte e execute o binário. Não há instalador, runtime para adicionar nem dependência para resolver. Se você tem Go, um único comando go install também funciona.
go install github.com/donislawdev/TestingFilesGenerator/cmd/tfg@latest
Por que uma execução sobre milhares de arquivos é mais lenta no Windows?
Porque o Windows cobra mais por cada caminho que examina, e um comando que percorre milhares de arquivos examina milhares de caminhos. Medido em uma máquina com 3000 arquivos de 1 kB, o verify leva cerca de 0,9 segundo no Windows e cerca de 0,2 segundo no Linux em um contêiner. Um caminho de saída mais curto reduz o valor do Windows, porque cada pasta acima dos arquivos faz parte do que é examinado.
Ainda decidindo?
A página de casos de uso mostra as tarefas para as quais foi feito, e a página de formatos lista cada formato com o menor arquivo que ele pode produzir. O README do repositório é a referência completa.
Gratuito e de código aberto, GPL-3.0. Sem cadastro. Os downloads de Windows e macOS são assinados e iniciam sem aviso.