Testing Files Generator
Română

Generează fișiere de test reale la dimensiunea exactă

PDF, PNG, DOCX, ZIP - 26 formate în total, și fiecare este un fișier real care se deschide în programul căruia îi aparține, la exact dimensiunea pe care ai cerut-o. Fiecare rulare notează și ce trebuie să facă aplicația ta cu fiecare fișier. Linie de comandă și fereastră desktop, gratuit și open source, funcționând în întregime pe mașina ta.

Gratuit și open source, GPL-3.0. Fără cont. Descărcările pentru Windows și macOS sunt semnate și pornesc fără avertisment.

Fereastra desktop Testing Files Generator, pregătită să scrie un lot de fișiere de test
Fereastra desktop, pregătită să scrie un lot de fișiere. Același motor rulează în spatele liniei de comandă.

Problema

Să faci un fișier de test e ușor. Să faci cele o mie potrivite e partea plictisitoare

Testezi software care primește fișiere de la oameni. Mai devreme sau mai târziu ai nevoie de:

Asta înlocuiește acesta. Este construit pentru ingineri QA, automatizarea testelor și oricine are în spatele codului un formular de încărcare, o rutină de import, un parser sau o cotă de stocare.

Ce îl face diferit

Alte generatoare se opresc la octeți. Acesta răspunde la ce întreabă de fapt testul tău

Un folder de fișiere te lasă tot pe tine să hotărăști ce trebuie să demonstreze fiecare. Fiecare rulare scrie aici un manifest.json lângă fișiere - o listă simplă a tot ce s-a produs și, pentru fiecare intrare, o așteptare declarată.

Să zicem că endpointul tău de încărcare permite 1 MB. Cere cele trei fișiere de pe acea linie:

tfg generate --preset size-boundaries --limit 1mb --spread 1B --format pdf --out ./edges
FișierOctețiSistemul tău trebuie săPentru că
1mb_under_1b.pdf1048575acceptee în interiorul limitei
1mb_at_limit.pdf1048576acceptelimita însăși este permisă
1mb_over_1b.pdf1048577respingăsize_limit

Trei fișiere, trei răspunsuri diferite, în formă citibilă de mașină. Testul tău citește manifestul în loc să scrii tu asertările de mână:

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"]

Acolo unde răspunsul depinde de propria ta politică, manifestul spune asta

Înregistrează unspecified în loc să inventeze o așteptare. Un generator care ghicește produce eșecuri false, iar o suită care dă alarme false ajunge oprită.

Presetări

Alege întrebarea, primești setul întreg

O presetare este un set de fișiere de test conceput în jurul unei întrebări de test, ca să nu fie nevoie să afli tu ce fișiere dovedesc ce. Fiecare are o pagină care spune ce găsește de obicei, ce este în set și fiecare setare pe care o acceptă.

Toate presetările și cum se leagă de rețete

Pornire rapidă

Trei comenzi ca să-l vezi funcționând

  1. Fă un fișier

    Un PNG, exact doi megaocteți:

    tfg generate --format png --size 2mb --out ./fixtures
  2. Fă multe fișiere

    Zece mii de fișiere de jurnal, fiecare între unu și opt kiloocteți, cu dimensiunile extrase din seed ca mâine să dea același set. Dă fiecărei rulări propriul director - manifestul este singura evidență a ce a scris o rulare, așa că instrumentul refuză să scrie un al doilea peste el:

    tfg generate --format log --size-range 1kb-8kb --count 10000 --out ./logs
  3. Verifică-le, apoi șterge-le

    verify îți spune că nimic nu s-a mișcat. cleanup șterge exact ce s-a scris și nimic altceva:

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

Dimensiunile se numără din 1024 în 1024, cum o face managerul tău de fișiere, deci 2mb înseamnă 2097152 octeți. Merge și un simplu număr de octeți. Documentația acoperă rețetele, manifestul și codurile de ieșire.

Ce primești

Construit pentru o suită care rulează nesupravegheată

Descărcare

Alege versiunea pentru sistemul tău

Dezarhivează arhiva și rulează-o. tfg este linia de comandă și tfg-gui este fereastra desktop. Nu există instalator și nimic de adăugat pe mașina ta.

Sistem Linie de comandă Fereastră desktop
Windows amd64, arm64 amd64
Linux amd64, arm64 amd64
macOS arm64 arm64

Ce este semnat și ce nu

Descărcările pentru Windows și macOS sunt semnate, așa că pornesc fără avertisment despre un dezvoltator necunoscut. Cele pentru Linux nu sunt, pentru că Linux pe desktop nu are un echivalent cu care să le semnezi. Fiecare arhivă este listată în verify-SHA256SUMS.txt pe pagina de versiuni, ca să poți verifica ce ai descărcat.

Gratuit și open source, GPL-3.0. Fără cont. Descărcările pentru Windows și macOS sunt semnate și pornesc fără avertisment.