xUnit单元测试将模型数据添加到模型列表中

时间:2014-05-23 13:32:42

标签: c# unit-testing xunit nancy

我尝试将User模型添加到list的{​​{1}}进行单元测试。以下是我的测试:

Users

我测试的方法:

[Fact]
    public void Add_User_To_User_List()
    {
        //Given
        var fakeGuid = new Guid("36a84feb-cd51-4f1f-9b19-6d8dc2c89d4a");

        _jsonService.DeserializeObject<User>(_fakeUserJsonFile).Returns(_fakeUserList);
        _guidService.NewGuid().Returns(fakeGuid);
        _jsonService.SerializeObject(_fakeUserJsonFile, _fakeUpdatedUserList).Returns(true);

        //When
        var result = _userService.AddUser(_fakeUser);

        //Then
        What Goes Here?????
    }

我只想测试传入方法的public bool AddUser(User user) { var userList = GetUsers(); user.ID = _guidService.NewGuid(); userList.Add(user); var serializeObject = _jsonService.SerializeObject(_fileName, userList); return serializeObject; } 是否已添加到User。显然,我真正测试的唯一代码是User List,但我不知道怎么做才有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您必须检查您的服务结果是否为idd,如您所愿:

//Then
Assert.IsTrue(result);

您的下一个测试可以测试AddUser失败的地方_jsonService.SerializeObject(_fakeUserJsonFile, _fakeUpdatedUserList).Returns(false);Assert.IsFalse(result);

答案 1 :(得分:0)

这样的事情:

Assert.Contains(_fakeUser, _fakeUserList);

由于您控制伪造的json服务返回哪个列表作为用户列表,您可以断言它在测试结束时包含正确的用户。