Как написать тестовый пример для выполнения операции удаления - PullRequest
0 голосов
/ 02 августа 2011

Учитывая следующий код, который является контрольным примером «сохранить» - как бы я написал контрольный пример «Удалить»?

[Test]
        public void Testsavesassignment()
        {
            var sAssignment = new SAssignment()
            {
                DateCreated = DateTime.Now,
                DateUpdated = DateTime.Now,
                Department = 9000.ToString(),
                EmployeeId = 4342342

            };
            Status status = null;
            var assignment = this.m_personnelService.SaveSAssignment(sAssignment, out status);
            Assert.IsTrue(status.Success);
            Assert.AreEqual(sAssignment.EmployeeId, assignment.EmployeeId);
            Assert.AreEqual(sAssignment.EmployeeId, assignment.DateCreated);
            Assert.AreEqual(sAssignment.DateUpdated, assignment.DateUpdated);
            Assert.AreEqual(sAssignment.Department, assignment.Department);
            Assert.AreNotEqual(sAssignment.Id, assignment.Id);

        }

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Это может помочь ...

    [Test]
    public void TestDeleteAssignment()
    {
        //add assignment
        var myAssignment = new SAssignment()
        {
            DateCreated = DateTime.Now,
            DateUpdated = DateTime.Now,
            Department = 9000.ToString(),
            EmployeeId = 4342342
        };

        Status addStatus = null;
        var assignment = this.m_personnelService.SaveSAssignment(myAssignment, out addStatus);
        Assert.IsTrue(addStatus.Success);

        var targetAssignmentId = assignment.Id;

        //possibility 1
        Status deleteStatus = null;
        var assignment2 = this.m_personnelService.DeleteSAssignment(targetAssignmentId, out deleteStatus);
        Assert.IsTrue(deleteStatus.Success); //or Assert.AreEqual(assignment2.Id, targetAssignmentId);


        //possibility 2
        Status deleteStatus = null;
        var assignment3 = this.m_personnelService.DeleteSAssignment(targetAssignmentId);
        var result = this.m_personnelService.GetSAssignment(targetAssignmentId);
        Assert.IsNull(result);
    }
0 голосов
/ 02 августа 2011

Вам нужно будет кое-что узнать о базовой реализации m_personnelService, если вы хотите иметь возможность протестировать Delete.

Вот пошаговое руководство по реализации модульного тестирования, включая удаление, с помощью Entity Framework: http://msdn.microsoft.com/en-us/library/ff714955.aspx (перейдите к разделу, озаглавленному «Реализация EF Centric» - тестыеще пара разделов).

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