0

我很难想象这一点。

这是场景。

我的单元测试

    public void AddStudentTest()
    {
        StudentService target = new StudentService (new Mock1(),new Mock2(), new Mock3(), new Mock4(), new Mock5());
        string name  = "Sample Name";
        int actual = 0;
        string[] userNames = new string[] {"Sample User Name" };
        string[] roleName = new string[] {"Sample Role" };
        target.AddStudent (name, userNames, roleNames);            
        Assert.IsNotNull(actual);
    }

我正在 Mock 3 中测试一个方法。不幸的是,方法返回类型是 VOID。我需要检查交易是否成功。我在此方法“AddStudent”上添加了一个字段 resultFlag,但是如何从单元测试中访问它?

4

1 回答 1

0

正如您所说,您确实在测试 Mock3 方法,您可以访问该代码,所以我相信您的测试用例可能会重写为类似

public void AddStudentTest()
{
    var dbMock = new Mock3()
    StudentService target = new StudentService (new Mock1(),new Mock2(), dbMock, new Mock4(), new Mock5());
    string name  = "Sample Name";
    int actual = 0;
    string[] userNames = new string[] {"Sample User Name" };
    string[] roleName = new string[] {"Sample Role" };
    target.AddStudent (name, userNames, roleNames);                    
    Assert.IsNotNull(dbMock.Students.FirstOrDefault())
}
于 2013-03-13T01:00:55.260 回答