Hallo,
ich möchte mich etwas mit Testing von SW Komponenten auseinander setzen. Aber ein paar Dinge sind mir noch unklar. Ich habe bspw. eine Klasse, in der ich eine andere Methode aufrufe, welche sehr lange dauern kann und eine große Struktur zurück gibt. Der Inhalt ist immer unterschiedlich.
Ich möchte das nun gerne testen mit einem Unittest, möchte aber nicht immer so lange warten und würde gerne für die Methode eine bestimmten Rückgabewert vordefinieren.
Um sowas zu testen rufe ich eine eigene Dll auf in der ich eine Methode erstellt habe die 5 Sekunden wartet und einen Wert zwischen 1 und 100 zurück gibt.
namespace API
{
public class Api
{
public int CreateData()
{
System.Threading.Thread.Sleep(5000);
Random rnd = new Random();
int returnValue = rnd.Next(1, 100);
return returnValue;
}
}
}
Wie kann ich sowas machen?
Für eine Unit in einem Unit Test spielt die Dauer absolut keine Rolle.
Was Du willst nennt sich Mocking.
[Artikel] Unit-Tests: Einführung in das Unit-Testing mit VisualStudio
API Tests mockt man generell komplett.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code