Dynamo
Primer for v2.0
Italiano
Italiano
  • Informazioni
  • Introduzione
    • Che cos'è Dynamo e come funziona?
    • Guida introduttiva, comunità e piattaforma di Dynamo
  • Installazione per Dynamo
  • Interfaccia utente
    • Area di lavoro
    • Libreria
  • Nodi e fili
  • Nodi e concetti essenziali
    • Indice dei nodi
    • Geometria per la progettazione computazionale
      • Panoramica sulla geometria
      • Vettore, piano e sistema di coordinate
      • Punti
      • Curve
      • Superfici
      • Solidi
      • Mesh
    • Elementi di base dei programmi
      • Dati
      • Matematica
      • Logica
      • Stringhe
      • Colore
    • Progettazione con elenchi
      • Che cos'è un elenco?
      • Utilizzo di elenchi
      • Elenchi di elenchi
      • Elenchi n-dimensionali
    • Dizionari in Dynamo
      • Che cos'è un dizionario?
      • Nodi Dictionary
      • Dizionari nei blocchi di codice
      • Casi di utilizzo di Revit
  • Pacchetti e nodi personalizzati
    • Nodi personalizzati
      • Introduzione ai nodi personalizzati
      • Creazione di un nodo personalizzato
      • Pubblicazione nella libreria
    • Pacchetti
      • Introduzione ai pacchetti
      • Case study di un pacchetto - Mesh Toolkit
      • Sviluppo di un pacchetto
      • Pubblicazione di un pacchetto
      • Importazione zero-touch
  • Dynamo per Revit
    • Correlazione con Revit
    • Selezione
    • Modifica
    • Creazione
    • Personalizzazione
    • Documentazione
  • Dynamo for Civil 3D
    • Connessione a Civil 3D
    • Per iniziare
    • Libreria di nodi
    • Esempi di workflow
      • Strade
        • Posizionamento di lampioni
      • Gestione catastale
        • Posizionamento dei servizi
      • Impianti di pubblica utilità
        • Ridenominazione di strutture
      • Ferrovia
        • Sagoma dello spazio libero
      • Rilievi
        • Gestione di gruppi di punti
    • Argomenti avanzati
      • Unione di oggetti
      • Python e Civil 3D
    • Lettore Dynamo
    • Pacchetti utili
    • Risorse
  • Codifica in Dynamo
    • Blocchi di codice e DesignScript
      • Cos'è un blocco di codice?
      • Sintassi di DesignScript
      • Sintassi abbreviata
      • Funzioni
    • Geometria con DesignScript
      • Nozioni di base della geometria DesignScript
      • Primitive geometriche
      • Matematica vettoriale
      • Curve: punti interpolati e di controllo
      • Traslazione, rotazione e altre trasformazioni
      • Superfici: punti interpolati e di controllo, loft, rivoluzione
      • Parametrizzazione geometrica
      • Intersezione e taglio
      • Operazioni booleane geometriche
      • Generatori di punti di Python
    • Python
      • Nodi Python
      • Python e Revit
      • Impostazione del modello di Python personalizzato
    • Modifiche al linguaggio
  • Procedure ottimali
    • Strategie sui grafici
    • Strategie di scripting
    • Riferimento per lo scripting
    • Gestione del programma
    • Utilizzo efficiente di set di dati di grandi dimensioni in Dynamo
  • Esempi di workflow
    • Introduzione ai workflow
      • Vaso parametrico
      • Punti attrattore
    • Indice concettuale
  • Guida introduttiva per sviluppatori
    • Compilazione di Dynamo dalla sorgente
      • Compilazione di DynamoRevit dalla sorgente
      • Gestione e aggiornamento delle dipendenze in Dynamo
    • Sviluppo per Dynamo
      • Per iniziare
      • Case study zero-touch - Nodo griglia
      • Esecuzione di script Python in nodi zero-touch (C#)
      • Ulteriori informazioni sul concetto di zero-touch
      • Personalizzazione avanzata dei nodi di Dynamo
      • Utilizzo di tipi COM (interoperabilità) nei pacchetti di Dynamo
      • Case study NodeModel - Interfaccia utente personalizzata
      • Aggiornamento di pacchetti e librerie di Dynamo per Dynamo 2.x
      • Aggiornamento di pacchetti e librerie di Dynamo per Dynamo 3.x
      • Estensioni
      • Definizione dell'organizzazione di pacchetti personalizzati (Dynamo 2.0 e versioni successive)
      • Interfaccia della riga di comando di Dynamo
      • Integrazione per Dynamo
      • Sviluppo per Dynamo for Revit
      • Pubblicazione di un pacchetto
      • Creazione di un pacchetto da Visual Studio
      • Estensioni come pacchetti
    • Richieste pull
    • Aspettative di test
    • Esempi
  • Appendice
    • Domande frequenti
    • Programmazione visiva e Dynamo
    • Risorse
    • Note di rilascio
    • Pacchetti utili
    • File di esempio
    • Mappa di integrazione host
    • Download del file PDF
    • Tasti di scelta rapida di Dynamo
Powered by GitBook
On this page
  • Unit test
  • Test di sistema
Edit on GitHub
Export as PDF
  1. Guida introduttiva per sviluppatori

Aspettative di test

In questa pagina viene descritto ciò che si cerca di ottenere con i test sul nuovo codice aggiunto a Dynamo.

Quindi, si desidera aggiungere un nuovo nodo. Bene! È arrivato il momento di aggiungere alcuni test. Ci sono due motivi per farlo.

  1. Serve a scoprire dove non funziona.

  2. Quando un altro utente modifica qualcosa che interrompe il nodo, questo dovrebbe interrompere i test. In questo modo la persona che ha interrotto i test deve andare a correggerlo. Se non interrompe i test, il problema è in gran parte dell'utente che deve occuparsi dei modelli che si danneggiano.

I test in Dynamo sono disponibili in due tipi principali: unit test e test di sistema.

Unit test

Gli unit test dovrebbero testare il meno possibile. Se è stato creato un nodo che calcola le radici quadrate tramite un nodo zero-touch C#, il test deve testare solo tale file DLL ed effettuare chiamate C# direttamente a tale codice. Gli unit test non dovrebbero nemmeno includere Dynamo.

Dovrebbero includere:

  • Test positivi (verificano se il codice viene eseguito correttamente)

  • Test negativi (verificano che il codice non si blocchi quando viene immesso input non valido)

  • Test di regressione (in caso di bug del codice, servono per assicurarsi che non si ripresenti)

Dovrebbero essere brevi, veloci e affidabili. La maggior parte dei test dovrebbe essere unit test.

Test di sistema

I test di sistema funzionano su più componenti e ne verificano l'integrazione. Devono essere utilizzati e creati con attenzione.

Perché? Sono costosi da eseguire. Dobbiamo mantenere la suite di test in esecuzione con la minor latenza possibile.

L'ideale sarebbe una serie progressiva di test che coprano insiemi crescenti di blocchi interagenti, in modo che quando i test iniziano a fallire sia molto rapido scoprire dove si trova il problema.

Esempi di operazioni che richiedono test di sistema:

  • Un nuovo tipo di nodo di Revit che memorizza più elementi nella traccia anziché un singolo elemento

  • Un nuovo nodo Watch che visualizza i dati in modo diverso.

Esempio di elementi che non richiedono test di sistema:

  • Un nuovo nodo Math

  • Una libreria di elaborazione delle stringhe.

I test di sistema dovrebbero:

  • Asserire il comportamento corretto

  • Asserire l'assenza di comportamenti patologici, ad es. nessuna eccezione.

PreviousRichieste pullNextEsempi

Last updated 1 month ago

Quando si scrive un test di sistema, la prima cosa da fare è guardare diagramma e capire quali sono i sottosistemi da coprire.

questo