N-Единица Имеет. Точно (n). Ошибка создания утверждения Элементов - PullRequest
0 голосов
/ 26 апреля 2018

Почему не работает приведенное ниже утверждение?

Код:

        [Test]
        public void CreateNewTemplateTest()
        {
            OnlineSignupModel model = new OnlineSignupModel
            {
                SalesRepId = 68,
                PriceAdvanced = (decimal)22.33,
                PriceComplete = (decimal)44.33,
                PriceMvr = (decimal)6.33,
                SetupFee = (decimal)2.33,
            };

            Assert.That(model, Has.Exactly(5).Items);
        }

Ошибка:

System.ArgumentException : The actual value must be an IEnumerable
Parameter name: actual
   at NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo[TActual](TActual actual)
   at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression, String message, Object[] args)
   at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression)

Я пытаюсь утверждать, что в объекте есть 5 свойств.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Вы утверждаете неправильно с неправильным ограничением.

Существует несколько способов утверждения модели, но вот один.

[Test]
public void CreateNewTemplateTest() {
    //Arrange
    var salesRepId = 68,
    var priceAdvanced = (decimal)22.33,
    var priceComplete = (decimal)44.33,
    var priceMvr = (decimal)6.33,
    var setupFee = (decimal)2.33,

    //Act
    OnlineSignupModel model = new OnlineSignupModel {
        SalesRepId = salesRepId,
        PriceAdvanced = priceAdvanced,
        PriceComplete = priceComplete,
        PriceMvr = priceMvr,
        SetupFee = setupFee,
    };

    //Assert
    Assert.That(
        model.SalesRepId = salesRepId &&
        model.PriceAdvanced == priceAdvanced &&
        model.PriceComplete == priceComplete &&
        model.PriceMvr == priceMvr &&
        model.SetupFee == setupFee, Is.True);
}

Подумайте над просмотром документации по использованию фреймворка

NUnit Documentation Wiki

0 голосов
/ 26 апреля 2018

Чтобы избежать каких-либо комментариев о полезности этой задачи, чтобы утверждать, что ваша модель имеет ровно 5 свойств, вы можете использовать что-то вроде Assert.That(typeof(model).GetProperties().Length == 5);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...