Я пытаюсь протестировать метод ниже, используя RhinoMocks и MbUnit, однако я не могу пройти тест. Текущая ошибка - это когда ожидаемый вызов для «» не найден.Как проверить новый объект внутри функции с помощью RhinoMocks и mbunit
Функция в vb.net и тест в C#
Public Function Login(user As Website.BusinessObjects.User) As Integer Implements IActivityLog.Login
Dim item As BOAudit.IActivityLog = New BOAudit.ActivityLog(_request)
' Activity
item.UserID = User.GuidID
item.Type = Enums.ActivityType.Login
item.Description = String.Format(If(IsAdmin, "Logged in as {0}", "Logged in"), User.FullName)
item.EventUserID = _authenticatedUser.GuidID
Return _dalActivityLog.Save(item)
End Function
тест ниже, что я в настоящее время, и я считаю, что вопрос до объявления нового объекта в функции выше, и не передавая этот объект в функцию. Каков наилучший способ проверить вышеприведенную функцию и должен ли я проходить объект?
[Test]
public void Login_Data_NewRecordCreated()
{
const int id = 99;
var data = new Website.CodeModules.BusinessObjects.Audit.ActivityLog(_request)
{
Type = Enums.ActivityType.Login,
Description = "Logged in",
EventUserID = _user.GuidID
};
var user = _mocks.StrictMock<User>();
using (_mocks.Record())
{
Expect.Call(_dalActivityLog.Save(data)).Return(id);
}
using (_mocks.Playback())
{
var result = _balActivityLog.Login(user);
Assert.AreEqual(id, result);
}
}