C# How to unit-test einer interface-Methode ohne Implementierung

Ich bin neu in unit-Tests und stackoverflow.

Ich habe zum test RefreshAmount in die folgende Schnittstelle:

public interface IAccountService
{
    double GetAccountAmount(int accountId);
}

Und hier ist eine Klasse, die abhängig vom interface:

public class AccountObj
{
    private readonly int _Id;
    private readonly IService _service;
    public AccountObj(int Id, IService service)
    {
        _Id = Id;
        _service = service;
    }
    public double Amount { get; private set; }
    public void RefreshAmount()
    {
        Amount = _service.GetAmount(_Id);
    }
}

Wie kann ich die unit Tests das Verhalten der RefreshAmount?

RefreshAmount Anrufe IService.GetAmount die können einen Anruf an einen back-end-office-muss ich aber nicht seine Umsetzung. Jede Anregung auf dem Weg zu gehen, würde geschätzt werden.
(Ich habe gelesen über moq und dependency injection, aber ich bin ruhig, neue unit-Test)

  • Es fühlt sich ziemlich sinnlos zu testen, ein interface selbst, da es keine Implementierung zu testen. 1. Schreiben Sie eine Implementierung und testen mit unit-test-2. Wie Sie bereits erwähnt, können Sie mit Moq, um eine test-Implementierung des interfaces
  • Ich glaube nicht, dass er testen will, die Schnittstelle aber wie AccountObj verwendet diese Schnittstelle.
  • Ihre AccountObj sieht aus wie eine Einheit. Sie sollten nicht injizieren von Abhängigkeiten in den Konstruktor Ihrer Entitäten.
InformationsquelleAutor Axel Betton | 2017-02-16
Schreibe einen Kommentar