Siamo due studenti che scrivono la nostra tesi di laurea e abbiamo sviluppato un'applicazione per Windows, che dovrebbe essere in grado di aiutare un ristorante in vari processi di comunicazione. Fondamentalmente, dovrebbe essere in grado di presentare le informazioni sull'ordine dal momento in cui un ospite lo invia ad esso è servito.Come scrivere un test di integrazione in NUnit?
Abbiamo omesso di testare durante lo sviluppo ma abbiamo deciso di scrivere test unitari ora. Tuttavia, abbiamo scoperto che il test più adatto che possiamo scrivere sul nostro sistema ora sono test di integrazione perché tutti i metodi nelle nostre classi sono legati alle stored procedure SQL tramite LINQ to SQL. Siamo consapevoli dell'uso di stub per eliminare una dipendenza da un database, ma quando il nostro database è già implementato insieme a tutte le funzioni, abbiamo pensato che ci avrebbe dato più valore per testare diversi metodi insieme come test di integrazione.
Come visto nel codice qui sotto abbiamo cercato di seguire le linee guida per un test unitario, ma è questo il modo giusto per scrivere un test di integrazione?
[Test]
public void SendTotalOrder_SendAllItemsToProducer_OneSentOrder()
{
//Arrange
Order order = new Order();
Guest guest = new Guest(1, order);
Producer producer = new Producer("Thomas", "Guldborg", "Beverage producer");
DataGridView dataGridView = new DataGridView { BindingContext = new BindingContext() };
order.MenuItemId = 1;
order.Quantity = 1;
//Act
guest.AddItem();
dataGridView.DataSource = guest.SendOrderOverview();
guest.SendOrder(dataGridView);
dataGridView.DataSource = producer.OrderOverview();
var guestTableOrder = producer.OrderOverview()
.Where(orders => orders.gtid == guest.GuestTableId)
.Select(producerOrder => producerOrder.gtid)
.Single();
//Assert
Assert.That(guestTableOrder, Is.EqualTo(guest.GuestTableId));
}
Grazie mille per la tua risposta completa! Questo è molto apprezzato! Ora ho implementato la maggior parte dei punti che stai suggerendo. In realtà, questo è il mio primo test di integrazione ed è quindi importante ottenere questo tipo di spiegazione esauriente su cosa fare e cosa non fare :-) –