Wie testet man den OData Client?

8

Ich verwende Web Api OData v4 auf dem Server und OData Client Codegenerator auf dem Client. Es funktioniert gut, aber ich weiß nicht, wie man den Code auf dem Client prüft.

Auf dem Server stelle ich ein "Levels" dbSet zur Verfügung.

Hier ist ein Snippet-Code auf dem Client:

%Vor%

Ich akzeptiere den von der T4-Vorlage generierten ODATA-Container als Parameter für den Konstruktor, um ihn irgendwie abspeichern zu können.

Unit Test, hier ist, wo ich verloren bin:

%Vor%

In diesem Komponententest möchte ich nur die Logik innerhalb der GetRootLevels-Methode testen, ich möchte keinen Integrationstest oder einen Self-Hosting-Service machen, ich möchte nur die Methode mit In-Memory-Daten testen.

Wie spotze ich die vom OData-Client generierte Klasse, die eigentlich eine DataServiceContext-Klasse ist?

Ich benutze Moq, aber es kann alles sein (kostenlos oder zumindest in der VS Professional Edition enthalten)

Bearbeiten: Hier ist die Implementierung von ODataContainer (denken Sie daran, dass dies vom Odata-Client automatisch generiert wird)

%Vor%     
Tuco 04.12.2015, 18:26
quelle

1 Antwort

7

Der C'tor von DataServiceQuery ist privat, daher konnte ich es nicht mit Moq verhöhnen.

Ich habe MsFakes als kostenloses Codeweb-Tool verwendet, um dieses Problem zu lösen:

> %Vor%     
Old Fox 07.12.2015, 22:16
quelle

Tags und Links