Testing Files Generator
Italiano

Genera file di test reali della dimensione esatta

PDF, PNG, DOCX, ZIP - 26 formati in tutto, e ognuno è un file reale che si apre nel programma che gli appartiene, di esattamente la dimensione che hai chiesto. Ogni esecuzione annota anche cosa la tua applicazione deve fare con ogni file. Riga di comando e finestra desktop, gratuito e open source, interamente sulla tua macchina.

Gratuito e open source, GPL-3.0. Nessuna registrazione. I download per Windows e macOS sono firmati e si avviano senza avvisi.

La finestra desktop di Testing Files Generator, pronta a scrivere un lotto di file di test
La finestra desktop, pronta a scrivere un lotto di file. Lo stesso motore gira dietro la riga di comando.

Il problema

Fare un file di test è facile. Fare i mille giusti è la parte noiosa

Stai testando software che accetta file dalle persone. Prima o poi ti servono:

È ciò che questo sostituisce. È pensato per ingegneri QA, automazione dei test e chiunque abbia dietro al proprio codice un modulo di upload, una routine di importazione, un parser o una quota di storage.

Cosa lo rende diverso

Gli altri generatori si fermano ai byte. Questo risponde a ciò che il tuo test chiede davvero

Una cartella di file ti lascia ancora a decidere cosa dovrebbe dimostrare ciascuno. Ogni esecuzione qui scrive un manifest.json accanto ai file - un semplice elenco di tutto ciò che è stato prodotto e, per ogni voce, un'aspettativa dichiarata.

Poniamo che il tuo endpoint di upload permetta 1 MB. Chiedi i tre file che stanno su quella linea:

tfg generate --preset size-boundaries --limit 1mb --spread 1B --format pdf --out ./edges
FileByteIl tuo sistema devePerché
1mb_under_1b.pdf1048575accettareè dentro il limite
1mb_at_limit.pdf1048576accettareil limite stesso è consentito
1mb_over_1b.pdf1048577rifiutaresize_limit

Tre file, tre risposte diverse, in forma leggibile da macchina. Il tuo test legge il manifest invece che tu scriva le asserzioni a mano:

import json, os

directory = "edges"
manifest = json.load(open(os.path.join(directory, "manifest.json")))

for entry in manifest["files"]:
    response = upload(os.path.join(directory, entry["path"]))
    outcome = entry["expected"]["outcome"]
    if outcome == "accept":
        assert response.ok, entry["path"]
    elif outcome == "reject":
        assert not response.ok, entry["path"]

Dove la risposta dipende dalla tua politica, il manifest lo dice

Registra unspecified invece di inventare un'aspettativa. Un generatore che tira a indovinare produce falsi fallimenti, e una suite che grida al lupo finisce spenta.

Preset

Scegli la domanda, ottieni l'intero set

Un preset è un set di file di test progettato attorno a una domanda di test, così non devi capire tu quali file dimostrano cosa. Ognuno ha una pagina che dice cosa trova di solito, cosa c'è nel set e ogni impostazione che accetta.

Tutti i preset, e come si rapportano alle ricette

Guida rapida

Tre comandi per vederlo funzionare

  1. Crea un file

    Un PNG, esattamente due megabyte:

    tfg generate --format png --size 2mb --out ./fixtures
  2. Crea molti file

    Diecimila file di log, ciascuno tra uno e otto kilobyte, con le dimensioni estratte dal seed così domani dà lo stesso set. Dai a ogni esecuzione la sua directory - il manifest è l'unica traccia di ciò che un'esecuzione ha scritto, quindi lo strumento si rifiuta di scriverne un secondo sopra:

    tfg generate --format log --size-range 1kb-8kb --count 10000 --out ./logs
  3. Controllali, poi rimuovili

    verify ti dice che nulla si è mosso. cleanup rimuove esattamente ciò che è stato scritto e nient'altro:

    tfg verify ./logs/manifest.json
    tfg cleanup ./logs/manifest.json --yes

Le dimensioni si contano a 1024, come fa il tuo file manager, quindi 2mb significa 2097152 byte. Funziona anche un semplice numero di byte. La documentazione copre le ricette, il manifest e i codici di uscita.

Cosa ottieni

Costruito per una suite che gira senza supervisione

Download

Scegli la build per il tuo sistema

Decomprimi l'archivio ed eseguilo. tfg è la riga di comando e tfg-gui è la finestra desktop. Non c'è un installer e nulla da aggiungere alla tua macchina.

Sistema Riga di comando Finestra desktop
Windows amd64, arm64 amd64
Linux amd64, arm64 amd64
macOS arm64 arm64

Cosa è firmato e cosa no

I download per Windows e macOS sono firmati, quindi si avviano senza l'avviso di sviluppatore sconosciuto. Quelli per Linux no, perché Linux desktop non ha un equivalente con cui firmarli. Ogni archivio è elencato in verify-SHA256SUMS.txt nella pagina delle release, così puoi controllare cosa hai scaricato.

Gratuito e open source, GPL-3.0. Nessuna registrazione. I download per Windows e macOS sono firmati e si avviano senza avvisi.