Ich versuche derzeit, Mocking mit Moq zu lernen, und ich wollte es auf einer vorhandenen Datenbank, die ich habe, aber ich bin mir nicht sicher, wie ist der richtige Weg, dies zu nähern.Mocking einfügen Abfrage zu einer MySQL-Datenbank mit Moq
In meiner Datenschicht habe ich eine Klasse, die die Verbindung mit der DB handhabt und die verschiedenen Methoden zum Einfügen, Auswählen usw. hat. Ich möchte testen, ob ein Akteur korrekt in die Datenbank eingefügt wurde.
Meine Insert-Methode sieht derzeit wie folgt aus:
public void Insert(string firstname, string lastname)
{
string query = $"INSERT INTO `sakila`.`actor`(`first_name`,`last_name`) VALUES('" + firstname + "','" + lastname + "')";
Console.WriteLine(query);
//open connection
if (this.OpenConnection() == true)
{
Console.WriteLine("Established connection");
//create command and assign the query and connection from the constructor
MySqlCommand cmd = new MySqlCommand(query, connection);
//Execute command
cmd.ExecuteNonQuery();
Console.WriteLine("Insert query succesfully executed.");
//close connection
this.CloseConnection();
}
}
Wie würde ich mich über diese mit Mocks zu tun? Erstelle ich eine Klasse für die Akteureinheit? Soll ich eine Schnittstelle für meine Klasse DbConnection
erstellen? Sorry für alle Fragen, aber ich bin wirklich ratlos, wie ich dieses Problem angehen kann.