Проверьте значение эталонного параметра с помощью MOQC#

Место общения программистов C#
Ответить
Anonymous
 Проверьте значение эталонного параметра с помощью MOQ

Сообщение Anonymous »

Я только что переключился на MOQ и столкнулся с проблемой. Я тестирую метод, который создает новый экземпляр бизнес -объекта, устанавливает свойства объекта из значений ввода пользователя и вызывает метод (SaveCustomerContact) для сохранения нового объекта. Бизнес -объект передается как аргумент REF, потому что он проходит через удаленный слой. Мне нужно проверить, что объект, передаваемый в SaveCustomerContact, имеет все свои свойства, установленные, как и ожидалось, но поскольку он создается как новое в методе контроллера, я не могу этого сделать. < /P>

public void AddContact() {

var contact = new CustomerContact() { CustomerId = m_model.CustomerId };

contact.Name = m_model.CustomerContactName;
contact.PhoneNumber = m_model.PhoneNumber;
contact.FaxNumber = m_model.FaxNumber;
contact.Email = m_model.Email;
contact.ReceiveInvoiceFlag = m_model.ReceiveInvoiceFlag;
contact.ReceiveStatementFlag = m_model.ReceiveStatementFlag;
contact.ReceiveContractFlag = m_model.ReceiveContractFlag;
contact.EmailFlag = m_model.EmailFlag;
contact.FaxFlag = m_model.FaxFlag;
contact.PostalMailFlag = m_model.PostalMailFlag;
contact.CustomerLocationId = m_model.CustomerLocationId;

RemotingHandler.SaveCustomerContact( ref contact );
}
< /code>

Вот тест: < /p>

[TestMethod()]
public void AddContactTest() {

int customerId = 0;

string name = "a";

var actual = new CustomerContact();

var expected = new CustomerContact() {
CustomerId = customerId,
Name = name
};

model.Setup( m => m.CustomerId ).Returns( customerId );
model.SetupProperty( m => model.CustomerContactName, name );
model.SetupProperty( m => m.PhoneNumber, string.Empty );
model.SetupProperty( m => m.FaxNumber, string.Empty );
model.SetupProperty( m => m.Email, string.Empty );
model.SetupProperty( m => m.ReceiveInvoiceFlag, false );
model.SetupProperty( m => m.ReceiveStatementFlag, false );
model.SetupProperty( m => m.ReceiveContractFlag, false );
model.SetupProperty( m => m.EmailFlag, false );
model.SetupProperty( m => m.FaxFlag, false );
model.SetupProperty( m => m.PostalMailFlag, false );
model.SetupProperty( m => m.CustomerLocationId, 0 );

remote
.Setup( r => r.SaveCustomerContact( ref actual ) )
.Callback( () => Assert.AreEqual( actual, expected ) );

target.AddContact();

}
< /code>

Это лишь последняя из многих попыток получить этот параметр. Для справки, значение фактического не изменяется от его начального (построенного) состояния. < /P>

Перемещение Assert.areequal (ожидаемое, фактическое) после сбоя целевого вызова. Если я добавляю .Verififiefit () в настройку вместо. Любые идеи о том, как проверить это, будут оценены. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/726 ... r-with-moq
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»