我正在构建一个使用
数据库的
用户,安全/角色和存储
内容的Web应用程序.
在单元测试的道路上开始,似乎有点令人生畏,因为我必须确保我的数据库已经被正确初始化,以便我的测试运行.
在这方面有什么常见的做法?
即在开发/测试时,我可能会删除用户,但是我的测试通过该用户必须在数据库中,以及他的个人资料,安全设置等.
我知道我可以创建一个安装脚本,重新启动数据库等等.
我不想最终花费我的整个时间来维护我的测试,并确保我的数据库在sych
还是单位测试/ TDD的成本?
如果您正在测试多个单元,则不是单元测试.
通常,您将有一个组件(您的页面或业务层)与负责实际连接和查询数据库的数据层对象交谈.我的建议是开发一个第一个组件的单元测试,使用依赖注入来传递一个模拟版本的DataLayer(其作用于硬编码的数据,或者您传入的列表等).这样您就可以与其他组件隔离测试较高级别的代码.
然后,您可以自由地为数据层开发其他单元测试(和集成测试),以确保正确处理其作业(写入数据库).