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 に答える