为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
料青山看我应如是 2021-11-14 10:53:58
我对此很陌生,我正在尝试进行测试,我可以在模拟数据库中创建和删除对象,但我不知道现在从哪里开始或如何创建该模拟数据库并读取/写入它。    [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    }我不太确定如何从这里继续。
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这里真的没有什么可以测试的。测试是否将某些内容插入模拟数据库将测试您的模拟逻辑。

最好使用集成测试和测试数据库来测试您的 sql 查询是否正确。



查看完整回答
反对 回复 2021-11-14
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

你不能开始一个

string queryString = "SELECT COUNT(id) FROM Commentaar where id = 0"

如果该查询返回 0,则表示您的 Commentaar 已被删除。

一个问题它只有在您的第一个 UT 工作并插入一行 ID 为 0 时才有效。


查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信