мне нужен правильный способ проверить один из моих классов, я совсем новичок в какие-то рамки, насмехаясь Moq с тестирует класс массива
У меня есть ниже класс Test я использую NUnit с Moq. Я смущаюсь относительно того, как я должен передать массив carconfigs
, делая вызов, как показано ниже.
[TestFixture]
public class RaceCarSetupSelectorTest
{
private CarConfiguration _carConfiguration;
private RaceCarSetupSelector _raceTrack;
private Mock<IRankCalculator> _mockRankCalcultor;
[SetUp]
public void SetUp()
{
_mockRankCalcultor = new Mock<IRankCalculator>();
_raceTrack = new RaceCarSetupSelector(_mockRankCalcultor.Object);
}
[Test]
public void RankingCarConfigurationsTest()
{
IList<CarConfiguration> carConfigs = new List<CarConfiguration>();
carConfigs.Add(FakeCarConfigs.Bentley);
carConfigs.Add(FakeCarConfigs.Jaguar);
carConfigs.Add(FakeCarConfigs.Maruti);
carConfigs.Add(FakeCarConfigs.Nissan);
carConfigs.Add(FakeCarConfigs.Porsche);
_mockRankCalcultor.Verify(x=>x.RankConfigurations(It.IsAny<RaceTrack>,It.IsAny<List<CarConfiguration>>)).
}
}
В основном я хочу, чтобы проверить RankConfiguration
метод, который определен в IRankCalculator
интерфейсе.
У меня есть два объекта RaceTrack и CarConfiguration, и я должен оценивать конфигурацию автомобиля на основе некоторого ввода. У меня есть класс RankCalculator, в котором существует фактический метод вычисления, который ниже, чем результат интерфейса IRankCalculator.
public CarConfiguration[] RankConfigurations(RaceTrack raceTrack, CarConfiguration[] configs)
{
//code for calculation
return configs[];
}
У меня есть другой класс под названием RaceCarSetupSelector, который действует как класс обслуживания, который вызывает метод в классе RankCalculator. Поэтому я написал тест для класса «RaceCarSetupSelector». Надеюсь, на этот раз я ясно.
Что именно вы хотите проверить? Какой метод? Каково ожидаемое поведение/выход? –
Вы все еще издеваетесь над фактическим классом, который вы пытаетесь протестировать (IRankCalculator). Этот класс не следует издеваться, только его зависимости. – andreasnico
Я не понял ваш комментарий. Не могли бы вы немного объяснить. –