У меня есть класс для тестирования, который сложно проверить с помощью Rhinomock, в отличие от обычных классов, потому что его конструктор вводится с зависимостью, которая не является одним интерфейсом, а массивом объектов интерфейса. Пожалуйста, помогите мне настроить все, чтобы написать тест с использованием риномока.Тестирование с использованием RHinomock
namespace ClinicalAdvantage.Domain.UserAppSettings
{
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json.Linq;
public class Agg : IAgg
{
private readonly ISource[] sources;
public Agg(ISource[] sources)
{
this.sources = sources;
}
public JObject GetAll()
{
var obj = new JObject();
foreach (var source in this.sources)
{
var token = source.GetCurr();
if (token != null)
{
obj.Add(new JProperty(source.Name, token));
}
}
return obj;
}
}
ISource - это интерфейс, который имеет 2 реализации. GetALL() выполняет итерацию каждого реализованного объекта класса и вызывает метод GetCurr в каждом из объектов и агрегирует результат. Мне нужно заглушить метод GetCurr, чтобы вернуть стандартный Jtoken. Я не могу создать макет этого класса Agg или заглушку ISource.
public interface ISource
{
string Name { get; }
bool Enabled { get; }
JToken GetCurr();
}
}
возможно дубликат [Может не фиктивный класс с конструктором, имеющим параметр массива с помощью Rhino Mocks] (http://stackoverflow.com/questions/2855271/не может-макет класса с-конструктор-имеющий-массив параметров, использующих-рино-издевается) –