我通过调用函数将数据存储到数据库中,StoreData
. 在设计器代码中,SqlConnection
打开,运行SqlCommand
,SqlConnection
关闭。成功运行StoreData
后,数据存储在数据库中。
我想通过断言我为集成测试选择的值(在StoreData
运行之前)来运行集成测试来StoreData
。 id = 0, time = "13:00"
) 等于在数据库中找到的值(运行StoreData
后,即。 id
列 = 0
列和time_stamp
列 = "13:00"
)。
我想过使用 LINQ。这是一个好方法,还是有更好的方法来做到这一点?
从技术上讲,这是一个集成测试,它完全有效,该测试将从数据库中读回数据并确保其看起来正确。
但是,如果你想让它成为一个单元测试,你应该做的是将支持机制模拟为某种内存结构,然后你的StoreData
方法将插入到这个结构中,而不是调用数据库。通常,这意味着为SqlConnection
和SqlCommand
创建某种工厂机制,然后重载方法以确保查询以内存结构为目标。