Domanda

    

Questa domanda ha già una risposta qui:

    
            
  •              Codice di esempio di test unità automatico                                      4 risposte                          
  •     
    

Sto cercando di commentare un'API (.Net) che sto esponendo a un cliente. Lo sto facendo usando commenti XML ed estraendo via SandCastle.

Questo è tutto perfetto e dandy, tuttavia ho unittesting per l'API, e ho pensato che il codice da questi sarebbe buono da inserire nei tag di esempio.

Qualcuno conosce un buon modo per estrarre il codice unit test e inserirlo nei tag di esempio? O qualcuno ha idee migliori?

Ovviamente ridistribuisco i test unitari con l'API, ma sarebbe bene averli nella documentazione.

È stato utile?

Soluzione

Sto usando NUnit e Sandcastle Help File Builder. Dai un'occhiata alla documentazione di Sandcastle Help File Builder su The Code Block Component.

Ecco un esempio di come inserisco il codice unit test nel tag di esempio:

    /// <summary>
    /// Returns a string representation of an object.
    /// </summary>
    /// <returns>Comma separated string.</returns>
    /// <example>
    /// <code source="UnitM.CentrallProcessingLib.Tests\Data\CSVDataRowTests.cs" region="ToString_a" />
    /// </example>
    public override string ToString()
    {
        return this.Data;
    }

Ecco un test unit referenziato (CSVDataRowTests.cs) (dovrebbe essere all'interno della sezione #region):

  #region ToString_a

    [Test]
    public void ToString_a()
    {
        CSVDataRow res = new CSVDataRow 
        {
            Data = "1;2;3"
        };

        Assert.AreEqual(res.ToString(), res.Data);
    }

  #endregion

Cordiali saluti.

Altri suggerimenti

Vedo che Jon Skeet ha una risposta, che richiede del lavoro: Codice di esempio di test unità automatico Qualcuno è andato e implementato questo? C'è un modo più semplice? Questa domanda riguarda l'ottenimento di un corpo del metodo da un file cs: Ottieni i contenuti di un metodo da un file cs

Ho realizzato un progetto per fare questo: http://code.google.com/p/addsourcetodocumentation/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top