使用 LINQ 断言数据库中的值



我通过调用函数将数据存储到数据库中,StoreData . 在设计器代码中,SqlConnection打开,运行SqlCommandSqlConnection关闭。成功运行StoreData后,数据存储在数据库中。

我想通过断言我为集成测试选择的值(在StoreData运行之前)来运行集成测试来StoreDataid = 0, time = "13:00" ) 等于在数据库中找到的值(运行StoreData后,即。 id列 = 0 列和time_stamp列 = "13:00" )。

我想过使用 LINQ。这是一个好方法,还是有更好的方法来做到这一点?

从技术上讲,这是一个集成测试,它完全有效,该测试将从数据库中读回数据并确保其看起来正确。

但是,如果你想让它成为一个单元测试,你应该做的是将支持机制模拟为某种内存结构,然后你的StoreData方法将插入到这个结构中,而不是调用数据库。通常,这意味着为SqlConnectionSqlCommand创建某种工厂机制,然后重载方法以确保查询以内存结构为目标。

相关内容

  • 没有找到相关文章

最新更新