单元测试:使用 SQL 查询创建和删除条目

我对此很陌生,我正在尝试进行测试,我可以在模拟数据库中创建和删除对象,但我不知道现在从哪里开始或如何创建该模拟数据库并读取/写入它。


    [Fact]

    public void CreateCommentaar()

    {

        //arrange

        Commentaar commentaar = new Commentaar

        {

            CommentaarId = 0,

            StadId = 0,

            UserId = "testId",

            CommentaarText = "text",

            Tijdstip = DateTime.Now

        };


        string queryString = "INSERT INTO Commentaar(UserId, StadId, CommentaarText, Tijdstip) VALUES("

            + commentaar.CommentaarId + " ,"

            + commentaar.UserId + " ,"

            + commentaar.StadId + " ,"

            + commentaar.CommentaarText + " ,"

            + commentaar.Tijdstip + " ,";


        //act

        //Run Mock sql query


        //assert

        //1 commentaar object should exist in mock DB now


    }


    [Fact]

    public void DeleteCommentaar()

    {

        //arrange

        Commentaar commentaar = new Commentaar

        {

            CommentaarId = 0,

            StadId = 0,

            UserId = "testId",

            CommentaarText = "text",

            Tijdstip = DateTime.Now

        };


        string queryString = "INSERT INTO Commentaar(UserId, StadId, CommentaarText, Tijdstip) VALUES("

            + commentaar.CommentaarId + " ,"

            + commentaar.UserId + " ,"

            + commentaar.StadId + " ,"

            + commentaar.CommentaarText + " ,"

            + commentaar.Tijdstip + " ,";


        //act

        //Run Mock sql query


        //assert

        //1 commentaar object should be deleted

    }

我不太确定如何从这里继续。



料青山看我应如是
浏览 184回答 2
2回答

梵蒂冈之花

这里真的没有什么可以测试的。测试是否将某些内容插入模拟数据库将测试您的模拟逻辑。最好使用集成测试和测试数据库来测试您的 sql 查询是否正确。

回首忆惘然

你不能开始一个string queryString = "SELECT COUNT(id) FROM Commentaar where id = 0"如果该查询返回 0,则表示您的 Commentaar 已被删除。一个问题它只有在您的第一个 UT 工作并插入一行 ID 为 0 时才有效。
打开App,查看更多内容
随时随地看视频慕课网APP